快速配置Azure DevOps代理服務器(CentOS 7)
Azure DevOps非常好用,但是代理服務器的配置相對有點麻煩而且易出問題,接下來筆者分享一下如何快速配置Azure DevOps的代理服務器。值得注意的是,本文以CentOS 7為例,故在開始之前,請先準備好CentOS 7服務器。
下載Linux代理
在Azure DevOps的代理池管理界面,我們可以下載Linux代理的安裝包:
![「文末贈書活動」快速配置Azure DevOps代理服務器](http://p2.ttnews.xyz/loading.gif)
點擊下載按鈕,下載到本地。
上傳到目標代理服務器(CentOS 7)
我們可以使用WinSCP工具將安裝包上傳到目標服務器:
![「文末贈書活動」快速配置Azure DevOps代理服務器](http://p2.ttnews.xyz/loading.gif)
上傳完成後,可以執行以下命令創建目錄並解壓:
<code>mkdir myagent && cd myagent/<code><code>tar zxvf /root/vsts-agent-linux-x64-2.153.1.tar.gz/<code>
解壓之後,可以看到如圖所示的目錄。
安裝依賴
解壓之後,我們需要檢查並安裝必備的依賴:
<code>./bin/installdependencies.sh/<code>
配置代理
安裝完成之後,我們就可以配置代理了。我們可以手工配置,也可以使用腳本配置。無論哪種配置方式,均需要執行“./config.sh”腳本:
不過這塊有幾個注意事項。
“Must not run with sudo”問題
如出現“Must not run with sudo”提示導致無法執行,則編輯改文件,移除以下腳本:
<code>if [ $user_id -eq 0 -a -z "$AGENT_ALLOW_RUNASROOT" ]; then/<code><code> echo "Must not run with sudo"/<code><code> exit 1/<code><code>fi/<code>
驗證類型說明
Alternate 基本身份驗證
Integrated Windows集成身份驗證,不支持 macOS 和 Linux.
Negotiate (默認) 通過Windows身份驗證方案(例如NTLM或Kerberos)以登錄用戶以外的用戶身份連接到TFS或Azure DevOps Server。選擇此模式後,系統將提示輸入憑據。
PAT 令牌驗證,需創建令牌
相關詳細的配置可以參考:
https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-linux?view=azure-devops#unattended-config
一次次手工配置太麻煩,我們可以直接使用腳本配置。
使用腳本配置
參考腳本如下所示:
<code>./config.sh --unattended --url https://Azure DevOPS域名 --auth negotiate -/<code><code>-userName 用戶名 --password 密碼 --pool default/<code>
如上面腳本所示:
使用–unattended指定了使用命令行參數配置
使用–url指定了Azure DevOps服務器域名
使用--auth 指定了身份驗證類型
–userName指定用戶名
–password指定密碼
–pool指定代理要加如的代理池名稱
其他參數均使用默認參數
安裝代理服務並啟動
代理可以通過命令行的方式運行,但是不便於無人值守。我們可以將代理安裝為服務並啟動:
<code>sudo ./svc.sh install/<code><code>sudo ./svc.sh start/<code>
啟動之後,就可以在代理池看到我們的代理服務器了:
安裝Git 2.9.0以上版本(必須)
這裡我們使用IUS來進行安裝。注意:IUS是一個yum存儲庫,為RHEL和CentOS提供了較新版本的精選軟件。
在開始之前,我們需要安裝IUS:
<code>yum install \/<code><code> https://repo.ius.io/ius-release-el7.rpm \/<code><code> https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y/<code>
然後我們可以在此地址去找我們需要的包了:
https://github.com/search?q=org%3Aiusrepo+topic%3Arpm&s=updated
比如Git我們可以使用此庫的包:
https://github.com/iusrepo/git224
go:
<code>yum install -y git224/<code>
由於網絡問題,請耐心等待。
安裝和配置Docker
如果需要用到Docker構建,則必須安裝Docker。這裡直接使用快捷腳本安裝:
<code>curl -fsSL https://get.docker.com -o get-docker.sh/<code><code>sh get-docker.sh/<code>
接下來我們配置加速器以及Docker服務:
<code>mkdir /etc/dockercat > /etc/docker/daemon.json <<code>{/<code><code> "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]/<code><code>}/<code><code>EOFmkdir -p /etc/systemd/system/docker.service.d/<code><code>systemctl daemon-reload/<code><code>systemctl enable docker/<code><code>systemctl restart docker/<code>/<code>
至此,代理就基本上配置完成,可以盡情的構建了:
讀者討論
參與讀者討論,將從精選留言中隨機抽取兩位讀者送《Docker+K8s應用開發與快速上雲》書籍一本,到付噢!
轉載是一種動力 分享是一種美德
如果喜歡作者的文章,請關注【麥扣聊技術】訂閱號以便第一時間獲得最新內容。本文版權歸作者和湖南心萊信息科技有限公司共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
文檔官網:docs.xin-lai.com
編程交流群<85318032>
產品交流群<897857351>