真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

基于gitlab的drone的搭建和使用-創(chuàng)新互聯(lián)

基于 Docker 的 CI/CD 工具 Drone 所有編譯、測試的流程都在 Docker 容器中進(jìn)行。

創(chuàng)新互聯(lián)成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站開發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),自適應(yīng)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:18982081108

開發(fā)者只需在項(xiàng)目中包含 .drone.yml 文件,將代碼推送到 git 倉庫,Drone 就能夠自動化的進(jìn)行編譯、測試、發(fā)布。

本小節(jié)以 GitLab+ Drone 來演示 Drone 的工作流程。
環(huán)境:CentOS Linux release 7.6.1810
gitlab服務(wù)地址:192.168.25.135
drone服務(wù)地址:192.168.25.132
在192.168.25.135部署gitlab服務(wù):
1、安裝依賴

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

2、打開防火墻訪問控制(關(guān)閉防火墻,可忽略)

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

3、安裝郵件服務(wù)(按需配置)

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

4、配置gitlab的yum倉庫

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

5、yum安裝gitlab服務(wù)
安裝時(shí)要將EXTERNAL_URL的內(nèi)容填寫為自己gitlab準(zhǔn)備配置的地址(因?yàn)榇藭r(shí)用虛擬機(jī),未配置域名,所以使用http://192.168.25.135)

sudo EXTERNAL_URL="http://192.168.25.135" yum install -y gitlab-ee

6、gitlab配置文件:/etc/gitlab/gitlab.rb(可以修改EXTERNAL_URL等配置)
修改配置文件后執(zhí)行進(jìn)行更新:
gitlab-ctl reconfigure
gitlab項(xiàng)目目錄:/var/opt/gitlab
gitlab服務(wù)名稱:gitlab-runsvdir
啟動、停止、重啟服務(wù):

systemctl (start|stop|restart|status)  gitlab-runsvdir
gitlab-ctl (start|stop|restart|status)

7、修改管理員默認(rèn)密碼

#gitlab-rails console production    //進(jìn)入gitlab管理控制臺
irb(main):001:0>u=User.where(id:1).first    //查找賬號(User.all 可以查看所有用戶)
irb(main):002:0>u.password='12345678'    //設(shè)置密碼為12345678
irb(main):003:0>u.password_confirmation='12345678'    //再次確認(rèn)密碼
irb(main):004:0>u.save!    //保存
irb(main):005:0>exit                                                            //退出當(dāng)前設(shè)置流程

參考:https://about.gitlab.com/install/ (所有系統(tǒng)的安裝方式)

在192.168.25.132部署drone服務(wù):
1、在gitlab上創(chuàng)建認(rèn)證。user-setting-Applications
填寫名稱(name),回調(diào)地址(Redirect URI),勾選api、read_user權(quán)限
基于gitlab的drone的搭建和使用

2、創(chuàng)建完成,復(fù)制Application ID 和Secret
基于gitlab的drone的搭建和使用
3、生成drone server和agent之間使用的驗(yàn)證secret

$ openssl rand -hex 16
4f3b7f51e3dd678c08cf2d0675c66760

4、下載drone server鏡像

docker pull drone/drone:1

5、啟動服務(wù)

docker run \
  --volume=/var/lib/drone:/data \
  --env=DRONE_AGENTS_ENABLED=true \    //是否允許agent
  --env=DRONE_GITLAB_SERVER=http://192.168.25.135 \   //gitlab地址
  --env=DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID} \  //gitlab上創(chuàng)建的application ID
  --env=DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET} \  //gitlab上創(chuàng)建的application ID對應(yīng)的secret
  --env=DRONE_RPC_SECRET=${DRONE_RPC_SECRET} \  //與drone agent驗(yàn)證使用,即在3中命令生成的secret
  --env=DRONE_SERVER_HOST=${DRONE_SERVER_HOST} \  //drone-server地址
  --env=DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} \  //drone-server訪問協(xié)議,如果配置了ssl或acme,此字段默認(rèn)為https
  --publish=80:80 \
  --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1

例:

docker run \
  --volume=/var/lib/drone:/data \
  --env=DRONE_AGENTS_ENABLED=true   \
  --env=DRONE_GITLAB_SERVER=http://192.168.25.135  \
  --env=DRONE_GITLAB_CLIENT_ID=fc7611e90bcdb7d3dc19bd0ad5338bffadfe48c1a3a13af6912863745e2894d7 \
  --env=DRONE_GITLAB_CLIENT_SECRET=8d3ab2adeb18bdd09cd8b9987955e282db0ab35e2efd2f30b7a71f320e5f2ac7 \
  --env=DRONE_RPC_SECRET=4f3b7f51e3dd678c08cf2d0675c66760 \
  --env=DRONE_SERVER_HOST=192.168.25.132 \
  --env=DRONE_SERVER_PROTO=http \
  --env=DRONE_TLS_AUTOCERT=false \
  --env=DRONE_LOGS_DEBUG=true \  //打開了debug日志,便于調(diào)試
  --publish=80:80 \
  --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1

6、訪問http://192.168.25.132,自動跳轉(zhuǎn)到gitlab授權(quán)。
基于gitlab的drone的搭建和使用

同步倉庫

基于gitlab的drone的搭建和使用
激活
基于gitlab的drone的搭建和使用

參考:https://docs.drone.io/installation/overview/
在192.168.25.132上部署docker runner服務(wù)

docker pull drone/drone-runner-docker:1
$ docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DRONE_RPC_PROTO=https \   //drone server通信協(xié)議
  -e DRONE_RPC_HOST=drone.company.com \   //drone server地址
  -e DRONE_RPC_SECRET=super-duper-secret \  //drone server啟動時(shí)配置的secret
  -e DRONE_RUNNER_CAPACITY=2 \  //設(shè)置并發(fā)數(shù)量,默認(rèn)為2
  -e DRONE_RUNNER_NAME=${HOSTNAME} \ 
  -p 3000:3000 \
  --restart always \
  --name runner \
  drone/drone-runner-docker:1

例如:

docker run -d   \
    -v /var/run/docker.sock:/var/run/docker.sock   \
    -e DRONE_RPC_PROTO=http   \
    -e DRONE_RPC_HOST=192.168.25.132   \
    -e DRONE_RPC_SECRET=4f3b7f51e3dd678c08cf2d0675c66760   \
    -e DRONE_RUNNER_CAPACITY=2   \
    -e DRONE_RUNNER_NAME=192.168.25.132   \
    -p 3000:3000   \
    --restart always   \
    --name runner   drone/agent:1

遇到問題:
1、倉庫不能激活。
基于gitlab的drone的搭建和使用
日志報(bào)錯

{"admin":false,"level":"debug","msg":"api: sync repository permissions","name":"456","namespace":"liyang","read":true,"request-id":"1UC2for9ub8hMZeIbmCtD2uKb7A","time":"2019-11-27T09:19:22Z","user.login":"liyang","write":false}
{"admin":false,"level":"debug","msg":"api: repository permissions synchronized","name":"456","namespace":"liyang","read":true,"request-id":"1UC2fuYsMFEy2USt6v0bOCpNC3o","time":"2019-11-27T09:19:22Z","user.login":"liyang","write":false}

查詢gitlab訪問日志

192.168.25.132 - - [27/Nov/2019:17:19:26 +0800] "POST /api/v4/projects/abcd%2F456/hooks?merge_requests_events=true&push_events=true&tag_push_events=true&token=V3zqKtE9ZWaoeTxAlbqnW55FHp9NY79H&url=http%3A%2F%2F192.168.25.132%2Fhook HTTP/1.1" 422 29 "" "Go-http-client
193

經(jīng)過查找,此問題為gitlab局域網(wǎng)訪問配置問題,
解決方案:使用管理員賬號登錄setting-network-Outbound requests

基于gitlab的drone的搭建和使用

Expand-勾選Allow requests to the local network from web hooks and services
基于gitlab的drone的搭建和使用

參考:https://discourse.drone.io/t/error-activating-gitlab-repository/3153
https://gitlab.com/gitlab-org/gitlab-foss/issues/55605
https://discourse.drone.io/c/general-discussion
https://gitlab.com/gitlab-org/gitlab-foss/issues?state=all
問題2:Project settings沒有Trusted選項(xiàng)

Protected - If Enabled, blocks pipeline if the yaml signature cannot be verified.
Trusted - Enables privileged capabilities: an ability to start privileged containers and mount host machine volumes.
基于gitlab的drone的搭建和使用
解決方案:在啟動時(shí)添加選項(xiàng)
--env=DRONE_USER_CREATE=username:abcd,admin:true \
參考:https://discourse.drone.io/t/the-repositories-setting-does-not-have-trusted/6093
https://docs.drone.io/manage/user/

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁題目:基于gitlab的drone的搭建和使用-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://weahome.cn/article/djodcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部