Tutorial for setting up CI/CD dockerized Spring Boot with Github Action

When i started my career as a software engineer, usually i build up CI/CD system with Jenkins on AWS EC2. For now, Github serves easy, free(almost) solution for CI/CD. So, let’s build CI/CD with Github Action

1. Dockerize Spring Boot Application

First, we need…


Welcome! Kotlin Beginners. Our team decide to set up new development environment for changing development stack Ruby on Rails to Kotlin&Spring Boot. Most of our engineers only have experience using Java/Rails.

So, We need engineering process for writing “GOOD” kotlin code. There’s so many software engineering practice for maintaning quality…


This post is about how to deploy nvidia-docker container to docker swarm service. If you have multiple GPU resources and need to allocate that resources on docker services individually, the swarm orchestrator can automatically allocate services that need GPUs to nodes that have GPUs, without us needing to manually place…


https://i0.wp.com/thecuriousdev.org/wp-content/uploads/2017/12/spring-boot-logo.png?resize=600%2C315&ssl=1

Over the last few months, we have been testing the API server’s ability to deploy several services. Personally, I have launched deep learning related services, and the server has processed a lot of data.

There are many myths about API servers on the internet. Problems with API servers can get…


Elastic beans talk is a suitable service for distributing a application or docker container.
In our teams project, there is a some use case running a task periodically. …


There are sometimes 0 devices that are supported when registering the Play Store, but this is usually caused by the build settings or the manifest file.

One of these was attributed to camera authority.

To fix this, add the attribute as shown below.

android: required = “false”


When i used this code snippet to configure MongoDB, NoSuchBeanException occurred


@Configuration
@EnableMongoRepositories
public class MongoConfig {
@Bean
public MongoClientOptions mongoOptions() {
return MongoClientOptions.builder()
.connectionsPerHost(30)
.threadsAllowedToBlockForConnectionMultiplier(40)
.build();
}
}
```

Because the package conflicts with default configuration.
To remove NoSuchBeanException, you can fix the problem by explicitly writing the package name or removing this annotation.


@Configuration

public class MongoConfig {
@Bean
public MongoClientOptions mongoOptions() {
return MongoClientOptions.builder()
.connectionsPerHost(30)
.threadsAllowedToBlockForConnectionMultiplier(40)
.build();
}
}
```

or


@Configuration
@EnableMongoRepositories(basePackages = “my.project.repository”)
public class MongoConfig {
@Bean
public MongoClientOptions mongoOptions() {
return MongoClientOptions.builder()
.connectionsPerHost(30)
.threadsAllowedToBlockForConnectionMultiplier(40)
.build();
}
}
```

마경욱

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store