創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供黑山網(wǎng)站建設、黑山做網(wǎng)站、黑山網(wǎng)站設計、黑山網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、黑山企業(yè)網(wǎng)站模板建站服務,十多年黑山做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
GitLab是一個開源分布式版本控制系統(tǒng),開發(fā)語言為Ruby,功能為管理項目源代碼、版本控制、代碼復用與查找
github分布式在線代碼托管倉庫,個人版本可直接在線免費使用,企業(yè)版本收費且需要服務器安裝
gitlab分布式在線代碼倉庫托管軟件,分社區(qū)免費版本與企業(yè)收費版本,都需要服務器安裝
? 開源免費,適合中小型公司將代碼放置在該系統(tǒng)中
? 差異化版本管理,離線同步y(tǒng)以及強大分支管理功能
? 便捷的GUI操作界面以及強大賬戶權限管理功能
? 集成度很高,能夠集成絕大多數(shù)的開發(fā)工具
? 支持內(nèi)置HA,保證在高并發(fā)下仍舊實現(xiàn)高可用性
1. Nginx靜態(tài)Web服務器
2. Gitlab-workhorse輕量級的反向代理服務器
3. Gitlab-shell用于處理git命令和修改authorized keys列表
4. Logrotate 日志文件管理工具
5. Postgresql 數(shù)據(jù)庫
6. redis 緩存服務器
1. 創(chuàng)建并克隆項目
2. 創(chuàng)建項目某feature分支
3. 編寫代碼并提交至該分支
4. 推送該項目分支至遠程gitlab服務器
5. 進行代碼檢查并提交master主分支合并申請
6. 項目領導審查代碼并確認合并申請
a. 關閉防火墻
b. 關閉SELINUX并重啟系統(tǒng)
a. 安裝gitlab依賴包
yum -y install curl policycoreutils openssh-server openssh-clients postfix
b. 配置yum倉庫
wget http://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh
chmod +x script.rpm.sh
./script.rpm.sh
c. 啟動postfix郵件服務
systemctl start postfix
d. 安裝gitlab-ce社區(qū)版本
yum -y install gitlab-ce
生成私鑰(key文件):key是服務器上的私鑰文件,用于對發(fā)送給客戶端數(shù)據(jù)的加密,以及對從客戶端接收到數(shù)據(jù)的解密
openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
生成csr文件:csr是證書簽名請求文件,用于提交給證書頒發(fā)機構(CA)對證書簽名
openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"
生成crt文件:crt是由證書頒發(fā)機構(CA)簽名后的證書,或者是開發(fā)者自簽名的證書,包含證書持有人的信息,持有人的公鑰,以及簽署者的簽名等信息
openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"
生成dh密鑰:openssl dhparam用于生成和管理dh的文件。dh(Diffie-Hellman)是著名的密鑰交換協(xié)議,或稱為密鑰協(xié)商協(xié)議,它可以保證通信雙方安全地交換密鑰。但注意,它不是加密算法,所以不提供加密功能,僅僅只是保護密鑰交換的過程。
openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
修改以上文件權限為600
chmod 600 /etc/gitlab/ssl/*
備份
cp gitlab.rb gitlab.rb.backup
修改
vim /etc/gitlab/gitlab.rb
external_url 'https://gitlab.example.com'
nginx['redirect_http_to_https'] = true
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.com.key"
# nginx['ssl_dhparam'] = /etc/gitlab/ssl/dhparams.pem
gitlab-ctl reconfigure
備份
cp /var/opt/gitlab/nginx/conf/gitlab-http.conf{,.backup}
server區(qū)段添加
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
rewrite ^(.*)$ https://$host$1 permanent;
gitlab-ctl restart
在/etc/hosts中添加 192.168.143.130 gitlab.example.com
默認管理員root,為root設置密碼并登陸
git -c http.sslVerify=false clone https://gitlab.example.com/root/test.git
[root@node1 devops]# git -c http.sslVerify=false clone https://gitlab.example.com/root/test.git
Cloning into 'test'...
Username for 'https://gitlab.example.com': root
Password for 'https://root@gitlab.example.com':
warning: You appear to have cloned an empty repository.
[root@node1 devops]# cd test/
[root@node1 test]# vim test.py
[root@node1 test]# git add .
[root@node1 test]# git config --global user.email "admin@example.com"
[root@node1 test]# git config --global user.name "jym"
[root@node1 test]# git commit -m "First commit"
[master (root-commit) b6581b9] First commit
1 file changed, 3 insertions(+)
create mode 100644 test.py
[root@node1 test]# git -c http.sslVerify=false push origin master
模塊化,調(diào)用特定的模塊,完成特定的任務;基于python語言研發(fā),由Paramiko、PyYAML和Jinja2三個關鍵模塊;部署簡單,主從模式,支持自定義模塊;支持playbook;冪等性
關閉防火墻
關閉selinux
各節(jié)點時間同步
各節(jié)點主機名不一致
各節(jié)點間ssh免密
2.1、預先安裝python3.6
wget http://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
tar xf Python-3.6.5.tar.xz && cd Python-3.6.5/
./configure --prefix=/usr/local --with-ensurepip=install --enable-shared
LDFLAGS="-wl , -rpath /usr/local/lib"
make && make altinstall
2.2、安裝virtualenv
pip3.6 install virtualenv
2.3、創(chuàng)建ansible用戶并安裝python3.6版本virtualenv實例
useradd deploy && su - deploy
virtualenv -p python3.6 .py3-a2.10-env
2.4、Git源代碼安裝ansible2.10
cd /home/deploy/.py3-a2.10-env
git clone https://github.com/ansible/ansible.git
cd ansible && git checkout stable-2.10
2.5、加載python3.6 virtualenv環(huán)境
source /home/deploy/.py3-a2.10-env/bin/activate
2.6、安裝ansible依賴包
pip3.6 install paramiko PyYAML jinja2
2.7、在python3.6虛擬環(huán)境下加載ansible2.10
source /home/deploy/.py3-a2.10-env/ansible/hacking/env-setup -q
2.8、驗證ansible2.5安裝
ansible --version
Jenkins是一款開源 CI&CD 軟件,用于自動化各種任務,包括構建、測試和部署軟件。
Jenkins 支持各種運行方式,可通過系統(tǒng)包、Docker 或者通過一個獨立的 Java 程序方式部署。
Jenkins 是一個主流的運維開發(fā)平臺,兼容所有主流開發(fā)環(huán)境;通過插件可與海量業(yè)內(nèi)主流開發(fā)工具實現(xiàn)集成;通過job配置單位與日志管理,使開發(fā)與運維人員能協(xié)同工作;通過權限管理劃分不同job不同角色;強大的負載均衡功能,保證項目的可靠性。
yum install java
yum install docker-ce
下載地址:https://pkg.jenkins.io/redhat-stable/
yum install jenkins-2.199-1.1.noarch.rpm
systemctl start jenkins
查看啟動情況
systemctl status jenkins.service -l
瀏覽器訪問jenkins地址 http:<ip或域名>:8080
第一次訪問新的jenkins實例時,系統(tǒng)要求使用自動生成的密碼進行解鎖
查看初始密碼
[root@node1 jenkins]# cat /var/lib/jenkins/secrets/initialAdminPassword
acd7e8eef641433b87e3358d8d6d1e34
兩個選項可以設置:
? 安裝建議的插件 - 安裝推薦的一組插件,這些插件基于最常見的用例.
? 選擇要安裝的插件 - 選擇安裝的插件集。當你第一次訪問插件選擇頁面時,默認選擇建議的插件。
Note:可以通過Jenkins中的Manage Jenkins > Manage Plugins 頁面在稍后的時間點安裝(或刪除)其他Jenkins插件
參考文章:
https://jenkins.io/zh/
https://www.bilibili.com/video/av71123251/?p=1
網(wǎng)站題目:Jenkins+GitLab+Ansibleplaybook安裝與基本使用
分享路徑:http://www.chinadenli.net/article42/ijoohc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、企業(yè)建站、網(wǎng)站導航、軟件開發(fā)、虛擬主機、面包屑導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)