Gitlab做java的docker CI

当筵意气临九霄,星离雨散不终朝。这篇文章主要讲述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】 然后查看结果:
dockerfile
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





    推荐阅读