Gitlab CI集成Gitlab Runner
来源:互联网 发布:一朝金榜天下知 编辑:程序博客网 时间:2024/05/14 15:04
关于Gitlab CI与Gitlab Runner的概念自行百度,此处不做赘述;Gitlab8.0之后已经集成了Gitlab CI;集成环境:CentOS6.5+Gitlab8.2.3-4+Gitlab Runner1.10.7-1
1、添加GitLab官方库
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
2、安装Gitlab Runner(若安装其他版本,请参考官方文档)
yum install gitlab-ci-multi-runner-1.10.7-1
3、注册Gitlab Runner(Gitlab CI的url和token请从自己的gitlab里面的项目里的runners模块里面查看)
[root@localhost ~]# gitlab-ci-multi-runner registerRunning in system-mode. Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):http://192.168.4.241:81/ciPlease enter the gitlab-ci token for this runner:c5552857cfa2bd91c7b69507c8aec5Please enter the gitlab-ci description for this runner:[localhost.localdomain]: my-runnerPlease enter the gitlab-ci tags for this runner (comma separated):my-tagWhether to run untagged builds [true/false]:[false]: trueRegistering runner... succeeded runner=c5552857Please enter the executor: parallels, shell, virtualbox, docker+machine, docker-ssh+machine, docker, docker-ssh, ssh, kubernetes:shellRunner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! [root@localhost ~]#
4、启动Gitlab Runner
gitlab-ci-multi-runner run
此时可以在你们项目里看到刚刚添加的runner
5、在项目根目录添加.gitlab-ci.yml文件,Gitlab Runner运行全靠它(具体配置参考官方文档)
# Define commands that run before each job's scriptbefore_script: - mvn clean# Define build stagesstages: - deploy_test #- deploy_stage# Define jobdeploy_test_job: stage: deploy_test only: - develop script: # You can also list all environment variables with the export command #- export - mvn install -Ptest -DskipTests - sh /data/apps/tomcat-instance/deploy_test.sh
deploy_test.sh
#!/bin/shexport JAVA_HOME=/data/apps/jdk1.8.0_111export JRE_HOME=/data/apps/jdk1.8.0_111/jreexport CATALINA_HOME=/data/apps/tomcat-8.5.8export CATALINA_BASE=/data/apps/tomcat-instance/jgj-apiwar=/data/target/*.warbin=$(cd `dirname $0`; pwd)echo "Deploy ${war##*/}..."rm -rf ${bin}/jgj-api/webapps/*rm -rf ${bin}/jgj-api/logs/*cp ${war} ${bin}/jgj-api/webapps/echo "Restart tomcat.."pid=$(lsof -t -i:8098)if [ ! $pid ]; then echo "jgj-api pid not exist"else echo "jgj-api pid is ${pid}" kill -9 $pidfisleep 1
如果要部署其他环境可以通过ssh无密码登录实现参考文档
这里有一个弱点,至今没找到解决办法,就是在deploy_test.sh脚本最后直接启动tomcat,启动不起来,应该是跟jenkins一样,jenkins执行完job后会杀死其他进程,只不过jenkins有解决办法,Gitlab Runner没找到,各位大侠如果有办法,欢迎留言!
更多配置请参考官方文档
阅读全文
0 0
- Gitlab CI集成Gitlab Runner
- Gitlab CI Multi Runner搭建CI持续集成环境
- Gitlab CI Multi Runner搭建CI持续集成环境
- gitlab 添加https://gitlab.com/ci gitlab-ci-multi-runner
- 笔记:gitlab-ci 可持续集成(3) runner 基本配置
- GITLAB CI-RUNNER的分类
- Docker搭建自己的Gitlab CI Runner
- GITLAB-CI搭配Runner的使用
- Docker搭建自己的Gitlab CI Runner
- 查找gitlab-ci runner历史版本
- Docker中安装Gitlab和gitlab-ci-multi-runner来搭建CI服务器
- gitlab CI
- Install and set up Gitlab CI Runner to use Docker
- Gitlab-ci与RUNNER的安装与使用
- Jenkins+Gitlab搭建CI持续集成架构
- Jenkins+Gitlab搭建CI持续集成架构
- Blueprint+Dredd+Gitlab-CI 实现持续集成
- 基于Gitlab CI搭建持续集成环境
- mysql 给表和字段加注释
- 使用xml配置Quartz,实现定时任务
- Ubuntu16.04+Gtx1080ti+cuda9.0+cudnn7+Anaconda3+opencv3+pytorch+jupyter notebook配置
- 前台跨域
- NodeJs与Grunt在Linux上的安装与配置
- Gitlab CI集成Gitlab Runner
- 制作Mac OS 系统安装u盘
- Java并发包源码学习之AQS框架
- Effective TensorFlow Chapter 7: TensorFlow中的执行顺序和控制依赖
- 25个最基本的JavaScript面试问题及答案
- JAVA从入门——精通
- Android WebView 调试方法
- 日志收集中间件比较
- 【Spring笔记】3. XML自动装配、关系等细节