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。

Gitlab做java的docker

Gitlab做java的docker

Gitlab做java的docker 然后查看结果:

Gitlab做java的docker 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的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab CI/CD自动部署方案探索

Gitlab CI/CD自动部署方案探索

rancher+gitlab+appveyor 实现 CI/CD 流水线(汇总)

是否可以使用没有docker的gitlab-ci将简单的Java Web应用程序部署到本地服务器?

在项目上运行Gitlab-CI以获取两个不同的Docker镜像

从 GitLab CI 运行器连接到 docker-in-docker