Centos7 gitlab和jenkin持續部署之預環境部署安裝
第一部分gitlab
前沿部分:gitlab安裝分兩個版本1.企業版gitlab-ee和2.社區gitlab-ce。區別就是社區版免費。這裏講的是社區版安裝,企業版可做相應參考。
正題之前先來說說git的優點:
- Git分佈式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫。
- Git分支和SVN的分支不同,分支在SVN中實際上是版本庫中的一份copy,而git一個倉庫是一個快照,所以git 切換、合併分支等操作更快速。
GitLab介紹
GitLab:是一個基於Git實現的在線代碼倉庫代理軟件,你可以用gitlab自己搭建一個類似於Github一樣的系統,一般用於在企業、學校等內部網絡搭建git私服。
功能:Gitlab 是一個提供代碼存儲、提交審覈和問題跟蹤的代碼管理平臺。對於軟件工程質量管理非常重要。
配置:建議CPU 2核,內存2G以上。
1. 安裝依賴
sudo yum install curl policycoreutils openssh-server openssh-clients policycoreutils-python
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
2. yum 配置鏡像加速
- 官方源地址:https://about.gitlab.com/downloads/#centos6
- 清華大學鏡像源 : https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
vi /etc/yum.repos.d/gitlab_gitlab-ce.repo [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1
3. 更新本地雲緩存
sudo yum makecache
4.安裝
sudo yum install gitlab-ce
5.修改配置項
sudo vim /etc/gitlab/gitlab.rb 複製代碼 #修改配置項 external_url:http://本機ip 複製代碼 sudo gitlab-ctl reconfigure # 重新配置服務;
5.重啓gitlab
gitlab-ctl restart
6.配置免密碼登錄
客戶端命令行生成ssh
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
拷貝到User Settings>SSH Keys中就行。如下圖:
第二部分jenkins
jenkins介紹
jenkins是基於Java開發的一種持續集成工具,用於監控持續重複的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。
自動化部署流程圖:
什麼是持續集成?
- 持續集成(Continuous Integration,CI) 代碼合併、構建、佈署、測試在一起,不斷執行這個過程並對結果進行反饋
- 持續部署(Continuous Deloyment,CD) 部署到生產環境
- 持續交付(Continuous Delivery,CD) 部署到生產環境,給用戶使用
- DevOps 是一個完整的面向IT運維的工作流,以 IT 自動化以及持續集成(CI)、持續部署(CD)爲基礎,來優化程式開發、測試、系統運維等所有環節
1.安裝jenkins需要的java環境
(1)最好安裝java8以上版本jdk
下載鏈接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下載時會提示Oracle 帳戶登錄沒有的註冊一下
根據自己操作系統選擇對應的jdk,這裏我選擇的是8u231版本
注意:一定要登錄Oracle用戶以及選擇圖片中的accept license agreement選項,不然的話需要license授權纔可以下載。
下載到本地之後文件名:jdk-8u231-linux-x64.tar.gz。
cd /usr/local/src
上傳jdk1.8.0_211.tar只服務器此目錄
#解壓文件
tar -xzvf jdk1.8.0_211.tar.gz
創建目錄
mkdir /usr/java
解壓文件拷貝
cp -r /usr/local/src/jdk1.8.0_211 /usr/java
ln -s /usr/java/jdk1.8.0_211/bin/java /usr/bin/java
(2)配置環境變量:
vi /etc/profile
#尾部添加下面內容
JAVA_HOME=/usr/java/jdk1.8.0_211
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
(3)配置文件生效
source /etc/profile
#環境變量生效
java -version
2.jenkins
(1)安裝
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install -y jenkins
(2)關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service
3)配置文件
vi /etc/sysconfig/jenkins
#修改下面內容
JENKINS_USER="root"
...
端口設置成爲被佔用的
JENKINS_PORT="xxxx"
(4)啓動jenkins
systemctl daemon-reload
systemctl start jenkins
systemctl status jenkins
看到上方狀態說明啓動成功。 訪問jenkins: http://ip:xxxx 端口就能啓動jenkins。