日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

起因

最開(kāi)始我是使用CircleCI來(lái)進(jìn)行博客的自動(dòng)部署的,但是在部署的時(shí)候使用又拍云的upx同步博客到對(duì)象存儲(chǔ)的時(shí)候經(jīng)常出現(xiàn)504(網(wǎng)關(guān)超時(shí))錯(cuò)誤最后導(dǎo)致失敗。很容易就可以想應(yīng)該是因?yàn)楸娝苤木W(wǎng)絡(luò)原因,但是說(shuō)好的全球cdn呢:sweat:,這不免讓我對(duì)它的全球cdn的實(shí)力有所懷疑:joy:。于是就打算自己搭Jenkins服務(wù)器在國(guó)內(nèi)構(gòu)建部署解決問(wèn)題,順帶學(xué)習(xí)一下。

Jenkins搭建與博客自動(dòng)部署

 

Jenkins安裝

Jenkins的詳細(xì)安裝方法可以參考官方的中文文檔:https://jenkins.io/zh/doc/book/installing/。這里我使用Docker進(jìn)行安裝,安裝時(shí)使用的docker-compose.yml配置文件如下所示:

version: "3"
services:
 kms:
 image: jenkinsci/blueocean
 user: root
 ports:
 - 8080:8080
 volumes:
 - jenkins-data:/var/jenkins_home
 - /var/run/docker.sock:/var/run/docker.sock
 restart: always
 
volumes:
 jenkins-data:

運(yùn)行的時(shí)候先別急著docker-compose up -d,先docker-compose up一下,這時(shí)如果防火墻安全組什么的設(shè)置沒(méi)有問(wèn)題的話可以在8080端口訪問(wèn)到了。在看終端的輸出信息的時(shí)候記錄一下初始安裝的隨機(jī)密碼,初始安裝的時(shí)候需要用到,之后就是根據(jù)網(wǎng)站的提示一直下一步下一步了。安裝配置結(jié)束后可以讓docker轉(zhuǎn)到后臺(tái)運(yùn)行。

使用前的配置

反向代理

直接使用8080端口當(dāng)然也是可以的,但是明顯看起來(lái)有點(diǎn)丑(主要是逼格不夠高:smirk:),這個(gè)這個(gè)時(shí)候我們就需要用到反向代理來(lái)處理一下了。這里我使用的是caddy,caddy的配置十分簡(jiǎn)單,兩行行實(shí)現(xiàn)https自動(dòng)申請(qǐng)續(xù)期與透明轉(zhuǎn)發(fā),我的Caddyfile如下所示。

https://ci.yinaoxiong.cn {
 gzip
 log /var/log/caddy/ci.log
 tls [email protected]
 proxy / localhost:8080 {
 transparent
 }
}

添加虛擬內(nèi)存

安裝的時(shí)候看到官方對(duì)于小團(tuán)隊(duì)的推薦硬件配置自己這個(gè)騰訊云的學(xué)生機(jī)也算是勉強(qiáng)達(dá)到了,然后一頓操作猛如虎,然后build的時(shí)候out of memory甩臉上。然后用free -h看了一下發(fā)現(xiàn)自己的交互內(nèi)存配置的是0,趕緊加個(gè)1G的交換內(nèi)存試一下看看,這里使用交換文件添加交換內(nèi)存。具體操作如下所示:

#創(chuàng)建一個(gè)大小為1G的文件
sudo fallocate -l 1G /swapfile
#鎖定root權(quán)限
sudo chmod 600 /swapfile
#標(biāo)記文件為交換空間
sudo mkswap /swapfile
#啟用交換空間
sudo swapon /swapfile
#查看設(shè)置是否生效
free -h
#配置寫(xiě)入fstab永久生效
#先備份文件
sudo cp /etc/fstab /etc/fstab.bak
#寫(xiě)入文件
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

配置構(gòu)建與部署

Jenkins的使用這個(gè)問(wèn)題過(guò)于龐大,大家可以去官網(wǎng)看它的文檔學(xué)習(xí)一下,下面分享一下我的僅分享一下我自己的配置,這個(gè)博客的配置文件可以在這個(gè)鏈接中查看:Jenkinsfile。目前使用 的配置文件如下所示:

pipeline {
 agent {
 docker {
 image 'circleci/ruby:2.6.0'
 }
 }
 stages {
 stage('build') {
 steps {
 sh 'gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/'
 sh 'sudo gem install bundler -f'
 sh 'bundle config mirror.https://rubygems.org https://gems.ruby-china.com'
 sh 'bundle install --jobs=4 --retry=3 --path vendor/bundle'
 sh 'bundle exec jekyll build'
 }
 }
 stage('deploy') {
 steps {
 sh 'wget -c http://collection.b0.upaiyun.com/softwares/upx/upx-linux-amd64-v0.2.3'
 sh 'mv upx-linux-amd64-v0.2.3 upx'
 sh 'chmod +x upx'
 sh './upx login yax-blog ${upx_USR} ${upx_PSW}'
 sh './upx sync _site/ / --delete'
 }
 }
 }
 environment {
 upx = credentials('upyun-account')
 }
}

直接使用CircleCI家的docker鏡像規(guī)范環(huán)境,因?yàn)楸緛?lái)就是從他們家遷移的就沒(méi)什么好改的了。構(gòu)建的時(shí)候?yàn)閞uby設(shè)置中國(guó)源加速訪問(wèn)。最后使用又拍云的upx工具同步到對(duì)象存儲(chǔ)中。

添加徽標(biāo)

原來(lái)使用CircleCI直接提供了構(gòu)建的徽標(biāo)鏈接來(lái)滿足用戶的使用(裝逼)需要,但是Jenkins本身沒(méi)有提供這個(gè)功能。好在萬(wàn)能的網(wǎng)友早已明白人們對(duì)于徽標(biāo)的使用(裝逼)需求,并創(chuàng)建了一個(gè)生成各種徽標(biāo)的開(kāi)源項(xiàng)目。項(xiàng)目的地址是:badges/shields,項(xiàng)目的一個(gè)demo網(wǎng)址是:https://shields.io/。

在build中點(diǎn)擊Jenkins按照要求填寫(xiě)好你就可以獲得你想要的徽標(biāo)了,我的填寫(xiě)方式如下所示。

Jenkins搭建與博客自動(dòng)部署

配置方式

將my-blog更換成你自己的job名稱應(yīng)該就可以了,需要注意的是Jenkins默認(rèn)是不允許匿名查看的,所以直接上去一頓操作是不行的。需要先用管理員賬號(hào)在 系統(tǒng)管理》全局安全設(shè)置》訪問(wèn)控制 里面勾選允許匿名只讀訪問(wèn)才行。如果你不想這么做也可以自己使用badges/shields搭建服務(wù),然后按照這個(gè)文檔:Server Secrets,設(shè)置好具有權(quán)限的Jenkins賬號(hào)密碼,這樣就不用把構(gòu)建信息公開(kāi)了。

分享到:
標(biāo)簽:Jenkins
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定