Gitlab CI整合Gitlab Runner
關於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 register
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.4.241:81/ci
Please enter the gitlab-ci token for this runner:
c5552857cfa2bd91c7b69507c8aec5
Please enter the gitlab-ci description for this runner:
[localhost.localdomain]: my-runner
Please enter the gitlab-ci tags for this runner (comma separated):
my-tag
Whether to run untagged builds [true/false]:
[false]: true
Registering runner... succeeded runner=c5552857
Please enter the executor : parallels, shell, virtualbox, docker+machine, docker-ssh+machine, docker, docker-ssh, ssh, kubernetes:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
[[email protected] ~]#
4、啟動Gitlab Runner
gitlab-ci-multi-runner run
此時可以在你們專案裡看到剛剛新增的runner
5、在專案根目錄新增.gitlab-ci.yml檔案,Gitlab Runner執行全靠它(具體配置參考官方文件)
# Define commands that run before each job's script
before_script:
- mvn clean
# Define build stages
stages:
- deploy_test
#- deploy_stage
# Define job
deploy_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/sh
export JAVA_HOME=/data/apps/jdk1.8.0_111
export JRE_HOME=/data/apps/jdk1.8.0_111/jre
export CATALINA_HOME=/data/apps/tomcat-8.5.8
export CATALINA_BASE=/data/apps/tomcat-instance/jgj-api
war=/data/target/*.war
bin=$(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 $pid
fi
sleep 1
如果要部署其他環境可以通過ssh無密碼登入實現參考文件
這裡有一個弱點,至今沒找到解決辦法,就是在deploy_test.sh指令碼最後直接啟動tomcat,啟動不起來,應該是跟jenkins一樣,jenkins執行完job後會殺死其他程序,只不過jenkins有解決辦法,Gitlab Runner沒找到,各位大俠如果有辦法,歡迎留言!
更多配置請參考官方文件
相關推薦
Gitlab CI整合Gitlab Runner
關於Gitlab CI與Gitlab Runner的概念自行百度,此處不做贅述;Gitlab8.0之後已經集成了Gitlab CI;整合環境:CentOS6.5+Gitlab8.2.3-4+Gitlab Runner1.10.7-1 1、新增GitLab官
gitlab之gitlab-ci和gitlab-runner<一>
h+ mac str centos7 coord interval b- 地址 style 一、概述 gitlab是開源代碼托管軟件,有ce和ee兩種版本,一般情況下ce完全能滿足企業使用,如果不差錢可以使用ee版本,這裏使用的是ce版。之前也一直在做CI/CD,最開始采用
GitLab持續整合--配置Runner
GitLab持續整合 Getting started with GitLab CI/CD 從8.0開始,GitLab持續整合(CI)完全整合在GitLab中。 GitLab的持續整合服務。 如果你添加了.gitlab-ci.yml檔案在專案的根目
Gitlab CI 整合 Kubernetes 叢集部署 Spring Boot 專案
在上一篇部落格中,我們成功將 Gitlab CI 部署到了 Docker 中去,成功建立了 Gitlab CI Pipline 來執行 CI/CD 任務。那麼這篇文章我們更進一步,將它整合到 K8s 叢集中去。這個才是我們最終的目標。眾所周知,k8s 是目前最火的容器編排專案,很多公司都使用它來構建和管理自己
.gitlab-ci.yml Gitlab CI 簡單配置
Gitlab 最近離職,一張機票跨越小半個中國,來魔都找了一份喜歡的工作。穩定了就開始繼續寫東西啦 ? 畢業實習的時候在公司裡面積極推 Git,考慮到同事的學習成本,在 Gogs 和 Gitlab 之間,我選了 Gogs,不為別的,只為原生中文 ?。然後一大段時
【Gitlab】gitlab-CI 持續整合以及runner的配置簡版
在我們完成專案開發後,提交到git,當監聽提交後,自動進行編譯,並進行專案的部署,是不是一想就很爽,所以下面引入我們 > 的主角 —— gitlab-CI,中文文件。 Gitlab CI Gitlab-CI 是 GitLab Continuous Integration(Gitlab持
Gitlab CI Multi Runner搭建CI持續整合環境
GitLab不僅僅只是程式碼託管的工具,它還集成了CI的功能,通過Gitlab CI Multi Runner工具可以更方便的搭建持續整合環境。 在安裝好GitLab之後還需要再安裝一個叫gitlab-ci-multi-runner的工具。 PS: 當然了肯
gitlab-ci-runner安裝
能夠 uber linux scrip -name 下載 你在 啟動服務 direct 前言 什麽是CI/CD? CI (Continuous Integration) 持續集成, CD (Continuous Delivery) 持續部署 個人理解 本地開發代碼, 提交
前端專案基於GitLab-CI的持續整合/持續部署(CI/CD)
什麼是持續整合/持續部署(CI/CD)? 個人理解,說白了就是把程式碼測試、打包、釋出等工作交給一些工具來自動完成。這樣可以提高效率,減少失誤,開發人員只需要關心開發和提交程式碼到git就可以了。 怎麼做? 方式一: 使用web hooks,這種方式的原理就是在gitlab專案的Setting-
『中級篇』docker之CI/CD持續整合-gitlab安裝(70)
建立虛擬機器 vagrant檔案的配置 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.require_version ">= 1.6.
Android 專案配置 gitlab-ci 持續整合
一、專案根目錄下建立一個 .gitlab-ci.yml 檔案 然後在 .gitlab-ci.yml 中配置持續整合的指令碼: 指令碼配置詳細可以看: Configuration of your jobs with .gitlab-ci.yml Setting up GitLab
Gitlab+Gitlab-CI+Docker實現持續整合(CI)與持續部署(CD)
寫在前面 記錄一下,一個自動化開發部署專案的構建過程與簡單使用,實現真正的DevOps gitlab安裝 步驟一:安裝依賴 yum -y install git gcc glibc-static telnet yum -y install curl poli
GitLab CI持續整合配置方案
持續整合是一種軟體開發實踐,即團隊開發成員經常整合它們的工作,通過每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的構建(包括編譯,釋出,自動化測試)來驗證,從而儘早地發現整合錯誤。 關於持續整合,很不錯的文章:
Gitlab-CI 初級篇 - Gitlab Runner
Gitlab Runner 在專案根目錄下新增 .gitlab-ci.yml 檔案,整個持續整合系統是 Gitlab 自帶的,要做的就是新增一個 Runner 到系統裡來解析檔案中的 script 部分。 安裝 Gitlab Runner 官方提供了安裝方法,個人選擇的是 install on macO
GitLab持續整合持續部署(CI&CD)
GitLab CI/CD介紹 首先使用一張圖說明GitLab CI的工作流程: GitLab CI是 GitLab 提供的持續整合服務,只要在你的倉庫根目錄 建立一個.gitlab-ci.yml 檔案, 併為該專案指派一個Runner,當有合併請求
持續整合環境選擇:Jenkins VS gitlab-ci
Jenkins Jenkins作為老牌的持續整合框架,在這麼多年的發展中,積累很多優秀的plugin工具,對進行持續整合工作帶來很大的便利。 gitlab-ci gitlab-ci作為gitlab提供的一個持續整合的套件,完美和gitlab進行整合,git
Docker搭建自己的Gitlab CI Runner
目錄: Gitlab CI介紹 環境、軟體準備 安裝、註冊並啟動Gitlab Runner 定義專案構建流程 FAQ 1、Gitlab CI介紹 CI:持續整合,我們通常使用CI來做一些自動化工作,比如程式的打包,單元測試,部署等,這種構建方式
持續整合 Gitlab-CI 【Maven】【部署至伺服器】
持續整合 Gitlab-CI 概念定義 原則 業界普遍認同的持續整合的原則包括: 需要版本控制軟體保障團隊成員提交的程式碼不會導致整合失敗。常用的版本控制軟體有 git、svn 等; 開發人員必須及時向版本控制庫中提交程式碼,也必須經常性地從版
Kubernetes 叢集中執行 GitLab-Runner 來執行 GitLab-CI
目錄 1、GitLabCI & Runner 介紹 GitLab-CI 是一套 GitLab 提供給使用者使用的持續整合系統,GitLab 8.0 版本以後是預設整合並且預設啟用。GitLab-Runner 是配合 GitLab-CI
GitLab-CI持續整合(CI)的介紹與執行機制
GitLab持續整合(CI)的介紹與執行機制 GitLab-CI GitLab-CI就是一套配合GitLab使用的持續整合系統(當然,還有其它的持續整合系統,同樣可以配合GitLab使用,比如Jenkins)。而且GitLab8.0以後的版本是預設集成了GitLab-C