使用 Runner
GitLab CI 地址与令牌参数
项目 –> 设置 –> CI/CD –> Runner 设置
.gitlab-ci.yml
在项目工程下编写 .gitlab-ci.yml 配置文件:
stages:- install_deps- test- build- deploy_test- deploy_productioncache:key: ${CI_BUILD_REF_NAME}paths:- node_modules/- dist/# 安装依赖install_deps:stage: install_depsonly:- develop- masterscript:- npm install# 运行测试用例test:stage: testonly:- develop- masterscript:- npm run test# 编译build:stage: buildonly:- develop- masterscript:- npm run clean- npm run build:client- npm run build:server# 部署测试服务器deploy_test:stage: deploy_testonly:- developscript:- pm2 delete app || true- pm2 start app.js --name app# 部署生产服务器deploy_production:stage: deploy_productiononly:- masterscript:- bash scripts/deploy/deploy.sh
项目中的Dockerfile
FROM openjdk:8-jreMAINTAINER happyxianyu <hzlim.xy@qq.com>ENV APP_VERSION 1.0.0-SNAPSHOTRUN mkdir /appCOPY demo-$APP_VERSION.jar /app/app.jarENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/app.jar", "--spring.profiles.active=prod"]EXPOSE 8888
当你需要等待其他项目启动再启动此项目时添加如下插件:
ENV DOCKERIZE_VERSION v0.6.1RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \&& tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \&& rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gzENTRYPOINT ["dockerize", "-timeout", "5m", "-wait", "tcp://192.168.1.154:8888", "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/app.jar", "--spring.profiles.active=prod"]
