当筵意气临九霄,星离雨散不终朝。这篇文章主要讲述Gitlab做java的docker CI相关的知识,希望能为你提供帮助。
1.首先安装gitlab,见docker快速安装
2.安装gitlab-runner
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash
sudo yum install gitlab-runner
#然后按照下图进行配置
复制代码
向GitLab-CI注册一个Runner需要两样东西:GitLab-CI的url和注册token。?其中,token是为了确定你这个Runner是所有工程都能够使用的Shared Runner还是具体某一个工程才能使用的Specific Runner。 ?如果要注册Shared Runner,你需要到管理界面的Runners页面里面去找注册token。
【Gitlab做java的docker CI】
FROM java:1.8
# 作者
MAINTAINER"zhangsan"
RUN mkdir -p /opt/application/storm/
# 镜像中项目路径
WORKDIR /opt/application/storm/
# 拷贝当前目录代码到镜像
COPY ./target/storm.jar /opt/application/storm/
# 暴露端口
EXPOSE 80 443
# 程序入口
ENTRYPOINT ["./start.sh"]
复制代码
vim start.sh
exec java -jar /opt/application/storm/storm.jar --spring.profiles.active=test 1> > /opt/application/storm/logs/storm.out.log 2> > /opt/application/storm/logs/storm.err.log
复制代码
vim .gitlab-ci.yml
stages:
- mvn-build
- docker-build
variables:
MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
cache:
paths:
- .m2/repository/
- target/
storm-build:
when: manual#手动执行
stage: mvn-build
script:
- echo "======== mvn package ========"
- mvn --version
- mvn clean package
- mvn package -Dmaven.test.skip=true
tags:
- kun
stage: docker-build
script:
# 通过Dockerfile生成cicd-demo镜像
- echo "======== docker package ========"
- docker build -t 域名/cicd-demo:*** .
# 通过镜像启动容器,并把本机8000端口映射到容器8000端口
- docker push 域名/cicd-demo:***
tags:
# 执行Job的服务器
- kun
only:
# 只有在master分支才会执行
- master
推荐阅读
- 拉勾Linux运维实战训练营
- #yyds干货盘点#异或操作
- #yyds干货盘点#Spring源码三千问为什么要用三级缓存来解决循环依赖问题(二级缓存行不行?一级缓存行不行?)
- 测试服务器带宽的几种常用方法
- Spring Boot + Redis 实现各种操作 #yyds干货盘点#
- java版gRPC实战之二(服务发布和调用)
- #yyds干货盘点#linux命令--more,less
- #yyds干货盘点#java内存模型之final域的内存语义
- 《微服务架构设计模式》读书笔记 | 第3章 微服务架构中的进程间通信 #yyds干货盘点#