定义一些变量, 下面各阶段会使用
variables:
ssh_name: root #远程连接服务器的用户
uat_server_ip: xx.xx.xx.xx #远程连接的服务器ip
uat_ssh_password: /usr/local/pem/qt_dev_cert.pem #从密码文件读取文件内容作为密码去远程连接主机
jar_name: community-fragrant-starter.jar #项目打包成jar
java_path: /usr/java/jdk1.8.0_131/bin #jdk路径
upload_path: /home/project/community #上传项目的目录
#开始结束打印日志
before_script:
- echo ‘=start==’
after_script:
- echo ‘=finish==’
定义执行的各个阶段及顺序,本次构建的阶段:build package deploy
stages:
-
build
-
upload
-
deploy
打包 Job,使用 maven 镜像打包项目
job_build:
stage: build
image: maven:3.5.0-jdk-8
script:
- mvn package -Dmaven.test.skip=true
cache:
key: m2-repo
paths:
- .m2/repository
artifacts:
paths:
- target/$jar_name
上传生成的 jar 包到你的应用服务器。
job_upload_prod:
stage: upload
image: ictu/sshpass
script:
-
ls -l target/
-
sshpass -f u a t s s h p a s s w o r d s c p − o U s e r K n o w n H o s t s F i l e = / d e v / n u l l − o S t r i c t H o s t K e y C h e c k i n g