Gitlab做java的docker CI
Posted 明镜清玄子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。
然后查看结果:
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
以上是关于Gitlab做java的docker CI的主要内容,如果未能解决你的问题,请参考以下文章
rancher+gitlab+appveyor 实现 CI/CD 流水线(汇总)
是否可以使用没有docker的gitlab-ci将简单的Java Web应用程序部署到本地服务器?