这是小小本周的第四篇
这是小小本周的第四篇,本周感冒流鼻涕,啥的,继续更新文章啦。建立配置文件 这里建立相关的配置文件
文章图片
设置默认的开发环境为dev环境
设置默认的开发环境
spring:
profiles:
active: dev
对POM文件进行修改进行打包 这里对POM文件进行修改
dev dev
trueuat uat
pro pro
修改DockerFile文件 在顶级目录修改DockerFile文件,如下
FROM openjdk:11.0.3-jdk-stretch
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
VOLUME /tmp
ADD subject-lib-0.0.1-SNAPSHOT.jar app.jar
# spring.profiles.active指定启动环境
#-c为清除以前启动的数据
ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=${profiles}","-c"]
修改GitLab文件 这里修改GitLab文件
after_script:
- docker rmi $( docker images -q -f dangling=true)stages:
- build
- test
- deployjob_build:
stage: build
script:
- mvn clean installjob_test:
stage: test
script:
- mvn testjob_deploy_dev:
stage: deploy
script:
- mvn package docker:build -P dev
- if [ $(docker ps -aq --filter name=spring-boot-docker-multi-environment) ];
then docker rm -f spring-boot-docker-multi-environment-dev;
fi
- docker run -e profiles="dev" -it --name spring-boot-docker-multi-environment-dev -d -p 8081:8081 unchin/spring-boot-docker-multi-environment
only:
- devjob_deploy_uat:
stage: deploy
script:
- mvn package docker:build -P uat
- if [ $(docker ps -aq --filter name=spring-boot-docker-multi-environment-uat) ];
then docker rm -f spring-boot-docker-multi-environment-uat;
fi
- docker run -e profiles="uat" -it --name spring-boot-docker-multi-environment-uat -d -p 8082:8082 unchin/spring-boot-docker-multi-environment
only:
- uatjob_deploy_pro:
stage: deploy
script:
- mvn package docker:build -P pro
- if [ $(docker ps -aq --filter name=spring-boot-docker-multi-environment-pro) ];
then docker rm -f spring-boot-docker-multi-environment-pro;
fi
- docker run -e profiles="pro" -it --name spring-boot-docker-multi-environment-pro -d -p 8090:8090 unchin/spring-boot-docker-multi-environment
only:
- tags
查看构建过程
文章图片
推荐阅读
● 明晰 | Java序列化与反序列化
● 理论 | 三天两夜,万字长文,吃透TCP/IP
● 应用 | Redis实现 主从,单例,集群,哨兵,配置应用
● 实战 | 后端日志的前世今生
● 实战 | Java 流之Stream,Lambda以及日期
【jdbc|实战 | GitLab + Docker 实现多环境部署】
文章图片
推荐阅读
- java简介|Java是什么(Java能用来干什么?)
- jar|springboot项目打成jar包和war包,并部署(快速打包部署)
- linux|2022年云原生趋势
- 个人日记|K8s中Pod生命周期和重启策略
- k8s|k8s(六)(配置管理与集群安全机制)
- Go|Docker后端部署详解(Go+Nginx)
- docker|Docker
- java|My GrokTalk-十分钟内十种工具
- Maven|dependencyManagement 里面的依赖无法下载
- 【快速学习】docker构建java项目实践