运行环境:
私服gitlab,想使用gitlab的ci/cd自动打包,不需要将打好的包部署到远程服务器而是保存在本地的,可以在本地安装gitlab-runner,打好的包直接在本地生成
 本地是window环境
1 本地安装maven
https://maven.apache.org/download.cgi
 
 maven 的安装需要依赖 jdk 的安装,所以必须先安装完成 jdk 且配置好 jdk 环境变量后在进行 maven 的安装!!
 
 解压好直接配置环境变量
 
 
3 gitlab-runner安装注册
window版gitlab-runner下载地址:
Install GitLab Runner on Windows | GitLab

 
管理员身份运行 cmd
gitlab-runner.exe install
注册到指定的 gitlab
gitlab-runner.exe register

 注册需要的地址和token从gitlab控制台获取
 
 注册成功可以在这里看到
 
4 编写打包脚本.gitlab-ci.yml
在maven项目的跟目录下新建.gitlab-ci.yml,因为不需要打包后还放入线上容器运行,所以只需要一个package步骤就好,将包输出到指定目录并添加上时间戳
- 如果要修改输出目录请修改代码中的 D:/output/
- 如果要修改打包分支请修改 only
- 如果要指定mvn本地仓库,请修改 Dmaven.repo.local
stages:
  - package
build:
  stage: package
  only:
    - develop
  script:
    - $timestamp = Get-Date $env:CI_COMMIT_TIMESTAMP -Format 'yyyyMMddHHmm'
    - $newPackageName = "dot$timestamp.tar"
    - mvn package '-Dmaven.test.skip=true' '-Dmaven.repo.local=D:\workspase\repository'
    - cp webapp/target/*.tar D:/output/
    - cd D:/output
    - mv webapp-bin.tar $newPackageName
  artifacts:
    paths:
      - D:/output/*.tar
5 坐等自动打包
提交develop分支时,可以在gitlab查看到打包进度
 
 
 只需要静静等待,打包完成即可在指定目录找到
 
6 可能会遇到的坑
- 6.1 gitlab-runner 安装目录下的config.toml 可以指定运行的方式,如果powershell不支持可能是没写全
 executor = "shell"
 shell = "powershell"
- 6.2 如果打包失败有先查看失败日志
 打包失败的原因大致有以下几种情况,逐一排查:
 1,网络问题,代码没有拉取到,请确认网页能否正常打开gitlab
 2, gitbal-runner没启动,可以在window的服务中查看gitlab-runner服务是否开启
 3,代码问题,可能多个开发人员功能冲突未解决,联系最后一次提交到develop的开发人员


















