前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速配置Azure DevOps代理服务器

快速配置Azure DevOps代理服务器

作者头像
雪雁-心莱科技
发布2020-09-17 17:17:17
1.2K0
发布2020-09-17 17:17:17
举报
文章被收录于专栏:magicodes

快速配置Azure DevOps代理服务器(CentOS 7)

Azure DevOps非常好用,但是代理服务器的配置相对有点麻烦而且易出问题,接下来笔者分享一下如何快速配置Azure DevOps的代理服务器。值得注意的是,本文以CentOS 7为例,故在开始之前,请先准备好CentOS 7服务器。

下载Linux代理

在Azure DevOps的代理池管理界面,我们可以下载Linux代理的安装包:

点击下载按钮,下载到本地。

上传到目标代理服务器(CentOS 7)

我们可以使用WinSCP工具将安装包上传到目标服务器:

上传完成后,可以执行以下命令创建目录并解压:

代码语言:javascript
复制
mkdir myagent && cd myagent
tar zxvf /root/vsts-agent-linux-x64-2.153.1.tar.gz

解压之后,可以看到如图所示的目录。

安装依赖

解压之后,我们需要检查并安装必备的依赖:

代码语言:javascript
复制
./bin/installdependencies.sh

配置代理

安装完成之后,我们就可以配置代理了。我们可以手工配置,也可以使用脚本配置。无论哪种配置方式,均需要执行“./config.sh”脚本:

不过这块有几个注意事项。

“Must not run with sudo”问题

如出现“Must not run with sudo”提示导致无法执行,则编辑改文件,移除以下脚本:

代码语言:javascript
复制
if [ $user_id -eq 0 -a -z "$AGENT_ALLOW_RUNASROOT" ]; then
  echo "Must not run with sudo"
  exit 1
fi

验证类型说明

  • 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

一次次手工配置太麻烦,我们可以直接使用脚本配置。

使用脚本配置

参考脚本如下所示:

代码语言:javascript
复制
./config.sh --unattended --url https://Azure DevOPS域名 --auth negotiate --userName 用户名 --password 密码 --pool default

如上面脚本所示:

  • 使用–unattended指定了使用命令行参数配置
  • 使用–url指定了Azure DevOps服务器域名
  • 使用--auth <type>指定了身份验证类型
  • –userName指定用户名
  • –password指定密码
  • –pool指定代理要加如的代理池名称
  • 其他参数均使用默认参数

安装代理服务并启动

代理可以通过命令行的方式运行,但是不便于无人值守。我们可以将代理安装为服务并启动:

代码语言:javascript
复制
sudo ./svc.sh install
sudo ./svc.sh start

启动之后,就可以在代理池看到我们的代理服务器了:

安装Git 2.9.0以上版本(必须)

这里我们使用IUS来进行安装。注意:IUS是一个yum存储库,为RHEL和CentOS提供了较新版本的精选软件。

在开始之前,我们需要安装IUS:

代码语言:javascript
复制
yum install \
 https://repo.ius.io/ius-release-el7.rpm \
 https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y

然后我们可以在此地址去找我们需要的包了:

https://github.com/search?q=org%3Aiusrepo+topic%3Arpm&s=updated

比如Git我们可以使用此库的包:https://github.com/iusrepo/git224

go:

代码语言:javascript
复制
yum install -y git224

由于网络问题,请耐心等待。

安装和配置Docker

如果需要用到Docker构建,则必须安装Docker。这里直接使用快捷脚本安装:

代码语言:javascript
复制
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

接下来我们配置加速器以及Docker服务:

代码语言:javascript
复制
mkdir /etc/docker

cat > /etc/docker/daemon.json <<EOF
{
 "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF

mkdir -p /etc/systemd/system/docker.service.d
systemctl daemon-reload
systemctl enable docker
systemctl restart docker

至此,代理就基本上配置完成,可以尽情的构建了:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 快速配置Azure DevOps代理服务器(CentOS 7)
    • 下载Linux代理
      • 上传到目标代理服务器(CentOS 7)
        • 安装依赖
          • 配置代理
            • “Must not run with sudo”问题
            • 验证类型说明
            • 使用脚本配置
          • 安装代理服务并启动
            • 安装Git 2.9.0以上版本(必须)
              • 安装和配置Docker
              相关产品与服务
              容器镜像服务
              容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档