后台服务的部署,如果不做成自动化的话,每次手动部署耗费大量的时间和精力,本文提供一种简单的自动化部署方案。
整体思路是编辑好gitlab-ci.yml文件,上传代码后利用gitlab-ci编译打包,然后调用ansible脚本部署,来实现自动化。对于不会gitlab-ci和ansible的开发者而言,上手也非常简单,因为gitlab-ci的yml配置非常简单,而ansible在此过程中所承担的角色也不需要你去深入的了解,会简单读懂几个脚本就可以了,非常容易掌握。
下面一步一步来讲解:
1).gitlab-ci.yml的编写(如下示例)
整体来说分两步,第一步编译,第二部部署。
variables:
EXEC_ACTION: init
APINAME: mgp-explorer-webapi
ANSIBLE_MAIN_DIR: /etc/ansible/roles/java-instance-cicd/files
stages:
- build
- deploy
build for master:
stage: build
script:
- pwd
- chmod +x ./gradlew
- ./gradlew clean
- cd mgp-explorer-webapi
- ./../gradlew build -x test --refresh-dependencies
- cd ..
- ./gradlew build -x test --r