在滴滴雲 DC2 伺服器上搭建 Gitlab+Jenkins 的整合環境
前言
GitLab 是使用 Git 作為程式碼管理工具,並在此基礎上搭建起來的 Web 服務。GitLab 含有全部歷史記錄和修訂追蹤能力,不依賴於網路連線或中心伺服器。其最大特色就是“分支”及“合併”的操作非常快速、簡便。
作為目前使用最為廣泛的程式碼管理工具之一,GitLab 被人們廣泛使用。而針對 GitLab,也存在很多種自動化整合部署的解決方案。
本文將簡單介紹如何使用 Docker 的方式搭建簡單的
GitLab+Jenkins
的整合環境,一起來看看吧。
準備
本文基於
滴滴雲
通用型雲伺服器,具體配置為:CentOs7.4;4核 CPU;8GB 記憶體;40GB 普通雲盤,如下圖。
安裝 Docker
工欲善其事必先利其器,首先將 yum 更新到最新版本。
$ sudo yum update
安裝需要的軟體包, yum-util 提供 yum-config-manager 功能,另外兩個是 devicemapper 驅動依賴的。
$ sudo yum install - y yum - utils device - mapper - persistent - data lvm2
設定 yum 源
$ sudo yum - config - manager -- add - repo https : //download.docker.com/linux/centos/docker-ce.repo
安裝 Docker-ce
$ sudo yum install docker - ce
安裝 Docker
$ sudo yum install < FULLY - QUALIFIED - PACKAGE - NAME >
例如: sudo yum install docker - ce - 17.12.0.ce
啟動 Docker
$ sudo systemctl start docker
Docker 安裝完成之後就可以開始安裝 GitLab 和 Jenkins 了。
拉取並啟動 GitLab
拉取 GitLab Docker 映象
$ sudo docker pull gitlab / gitlab - ce : latest
啟動GitLab
這樣一個簡單的 GitLab環境就搭建成功了。
安裝 Jenkins
下載 Docker 的 Jenkins 映象
$ sudo docker pull jenkins : latest
啟動 Jenkins 的 Docker 映象
$ sudo docker run - d -- name myjenkins - v $ HOME / jenkins :/ var /
- p 8888 : 8080 - p 55000 : 50000 - p 45000 : 45000 jenkins : latest
首次登入Jenkins,要求輸入
Administrator password
。由於 Jenkins 執行在 Docker 中,應當先按如下命令進入此 container 的 bash,再按照提示的路徑即可找到。
$ docker exec - it < CONTAINERID > bash
$ cat / var / jenkins_home / secrets / initialAdminPassword
生成 Jenkins 的 SSH KEY
登入成功後,按提示安裝預設外掛,這會耗費幾分鐘時間,我們在這段時間裡可以生成一下
SSH KEY
以供後面的配置使用。
$ ssh - keygen
配置 GitLab
登入 GitLab 建立自己的專案(此過程不再贅述),並將生成的 Jenkins 的公鑰配置到 GitLab 中。
建立 Jenkins 任務
在 Jenkins 中建立一個新任務,具體配置如下。
General
勾選 GitHub 專案,填寫專案 URL。
原始碼管理
勾選 Git,填寫 Repository URL,並新增擁有訪問許可權的使用者。
Repository URL:專案的 Git 地址。
Credentials:點選Add按鈕新增使用者(使用者名稱密碼和SSH兩種方式均可)。
Branch Specifier (blank for ‘any’):選擇要 checkout 的 Git 分支。
構建觸發器
勾選觸發遠端構建,輸入下列命令生成 token,將生成的 token 填寫在身份驗證令牌處。
$ openssl rand - hex 12
其他配置項
構建環境、構建、構建後操作請根據專案實際需求填寫。
配置 Webhooks
新增
開啟 Git 專案的 Integrations 配置項,按如下要求填寫:
– URL 地址:TOKEN_NAME 即上述生成的 token。
– Trigger:指觸發規則,即什麼時候請求上述 URL 進行構建,根據實際需求勾選。
測試
新增成功後,在當前頁點選 Test 下拉框,選擇觸發型別進行測試,即可在 Jenkins 中看到一項構建任務被觸發了。
可能存在的問題
測試 GitLab Webhook 時,可能會出現通訊問題,原因時 Jenkins 本身禁止跨站點請求。
解決辦法:
進入 Jenkins-系統管理-Configure Global Security
勾選:Allow anonymous read access
取消勾選:防止跨站點請求偽造
結語
至此,一個簡單的
GitLab+Jenkins
的整合環境就搭建好了。由於篇幅有限,未能詳盡的介紹 Jenkins 的強大功能以及支援的複雜場景,
滴滴雲
將在未來為大家奉獻上更加詳盡的技術資料,敬請期待!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559758/viewspace-2221776/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在滴滴雲 DC2 雲伺服器上搭建 Codis 實戰伺服器
- 在滴滴雲 DC2 雲伺服器上搭建 RabbitMQ 叢集伺服器MQ
- 在滴滴雲 DC2 雲伺服器上搭建 MongoDB 實戰伺服器MongoDB
- 在滴滴雲DC2伺服器上搭建DPDK應用例項伺服器
- 在滴滴雲 DC2 雲伺服器上搭建 ZooKeeper 叢集實戰(一)伺服器
- 在滴滴雲 DC2 雲伺服器上搭建 ELK 日誌採集系統伺服器
- 在滴滴雲 DC2 雲伺服器上使用 LVM 管理磁碟伺服器LVM
- 如何在滴滴雲 DC2 上搭建 ETCD 叢集
- 如何在滴滴雲 DC2 上搭建 MySQL 服務MySql
- 在滴滴雲 DC2 伺服器上部署 Ghost伺服器
- 如何在滴滴雲 DC2 上搭建 ProxySQL 中介軟體SQL
- 如何在滴滴雲 DC2 上搭建高可用 MySQL 叢集MySql
- 基於滴滴雲搭建 Ceph 開發環境開發環境
- 在滴滴雲上搭建 MongoDB 叢集 (一):MongoDB
- 基於滴滴雲 DC2 搭建 VPP 應用例項
- 滴滴雲上搭建 Gluster
- 在滴滴雲上搭建 Redis-Cluster 叢集Redis
- 在滴滴雲 DC2 編譯安裝最新 GCC 版本編譯GC
- 在CentOS 7上搭建Docker環境CentOSDocker
- 在滴滴雲上搭建 API-Gateway Kong 實踐APIGateway
- RabbitMQ系列(一)在Ubuntu上的環境搭建MQUbuntu
- 在CentOS7上搭建Jenkins+Maven+Git持續整合環境的方法CentOSJenkinsMavenGit
- SSM整合之CRUD環境搭建整合SSM
- RabbitMQ系列(一)RabbitMQ在Ubuntu上的環境搭建MQUbuntu
- 在 Ubuntu 上搭建 nginx+PHP+Laravel 環境UbuntuNginxPHPLaravel
- Shiro(環境搭建與Spring整合)Spring
- 在滴滴雲上學習 Kubernetes v1.13.0:叢集搭建
- 在Ubuntu上安裝Drone持續整合環境Ubuntu
- 在滴滴雲 DC2 上部署 Manifold 文字收集與閱讀平臺
- 在 Windows 上搭建 React Native IOS 開發環境WindowsReact NativeiOS開發環境
- 裝在筆記本里的私有云環境:持續整合(上)筆記
- Haskell 在 macOS 下的環境搭建HaskellMac
- 使用滴滴雲DC2,在CentOS7安裝Redis並進行安全加固CentOSRedis
- Linux伺服器上搭建測試環境(war包+tomcat)Linux伺服器Tomcat
- 雲伺服器Windows server 2012r IIS環境搭建伺服器WindowsServer
- 在 Fedora 上搭建 Jupyter 和資料科學環境資料科學
- 基於滴滴雲伺服器搭建 Consul 叢集伺服器
- 【FastDFS】小夥伴們說在CentOS 8伺服器上搭建FastDFS環境總報錯?ASTCentOS伺服器