Azure的DevOps学习笔记二
这其实是这个系列的第三篇文章了,主要记录写琐碎的东西吧。
1.删除项目
点击集合DefaultCollection->管理设置
打开管理设置,然后鼠标放到项目后面,出现三个点
点击出现的三个点,选择删除即可。
1.使用Azure DevOps持续集成GitHub项目
2.在linux上安装部署池
在配置代理池时,以管理员身份运行以下命令
1 | mkdir azagent;cd azagent;curl -fkSL -o vstsagent.tar.gz https://go.microsoft.com/fwlink/?linkid=2066772;tar -zxvf vstsagent.tar.gz; if [ -x "$(command -v systemctl)" ]; then ./config.sh --deploymentpool --deploymentpoolname "250-dev" --acceptteeeula --agent $HOSTNAME --url http://192.168.1.241/ --work _work --auth Negotiate --runasservice; sudo ./svc.sh install; sudo ./svc.sh start; else ./config.sh --deploymentpool --deploymentpoolname "250-dev" --acceptteeeula --agent $HOSTNAME --url http://192.168.1.241/ --work _work --auth Negotiate; ./run.sh; fi |
问题:
(1) 下载的过程总是中断,直接打开:https://go.microsoft.com/fwlink/?linkid=2066772 ,将vstsagent.tar.gz下载下来,通过rz命令上传到服务器上就好了。然后从tar -zxvf命令开始执行
(2) Must not run with sudo
需要修改azagent下的config.sh文件中的内容
1 | ## 将文件开头 |
再次运行:
1 | if [ -x "$(command -v systemctl)" ]; then ./config.sh --deploymentpool --deploymentpoolname "250-dev" --acceptteeeula --agent $HOSTNAME --url http://192.168.1.241/ --work _work --auth Negotiate --runasservice; sudo ./svc.sh install; sudo ./svc.sh start; else ./config.sh --deploymentpool --deploymentpoolname "250-dev" --acceptteeeula --agent $HOSTNAME --url http://192.168.1.241/ --work _work --auth Negotiate; ./run.sh; fi |
如何还是不行的话,干脆把上面四行代码都用#注释掉。
1.Azure DevOps vsts-agent-linux 安装出错, Must not run with sudo
2.卸载
3.sudo: ./svc.sh: command not found
4../svc.sh install is always failed
(3) 连接服务器说明
输入服务器地址,这个服务器地址,是安装了Azure DevOps的服务器地址,所以你的Azure DevOps需要可以被外网访问到。
输入服务器地址,以及用户名密码,也就是登录Azure DevOps的用户名密码
结果失败
(4) Some lines were ellipsized, use -l to show in full.
修改run.sh脚本,修改方式和修改config.sh文件一样。
(5) 重新运行run.sh,后台运行nohup sh run.sh &,按两次确定就好了。
总结,下载vstsagent.tar.gz->解压->修改config.sh和run.sh->运行下面命令:
1 | ## 注意 http://192.168.1.241/ 为你自己的devOps服务器地址 |
输入devOps安装的服务器地址->输入登录devOps的用户名密码->重新运行rum.sh
(6) libicu’s dependencies missing for .NET Core 3.1
按提示运行下面的命令就好了
1 | ./bin/installdependencies.sh |
3.持续部署
持续部署的意思,就是说,自动部署。我这里以Azure自带的git仓库作为例子,讲解过程,通过我在开发时使用git push到仓库中,就自动的将代码进行打包然后部署。
(1) 点击管道->发布->项目
(2) 添加项目->选择Azure Repos仓库
(3) 选择项目,右上角的箭头,打开第一个触发器
(4) 新建阶段和任务,这里我就不多讲了,在前几篇文章中已经提到过了。
(5) 最后,使用git push推送代码到Azuer上就可以了,就会自动新建发布,然后执行相应的命令。
问题:
(1) git版本过低
以前需要编译安装,后来在CentOS8上,可以直接使用yum进行安装最新版了,简直太爽了。
1 | ## 安装了git2.27.0 |
(2) 找不到git文件
(3) 最后新建软连接
ln -s /usr/local/git/bin/git /usr/bin/git
1.编译安装git.md (源码编译安装,但是最新的CentOS8可以直接使用yum安装了。)
4.添加多条发布
任何一个仓库,都可以创建多条发布
这有什么作用呢?比如我有两个版本,一个服务器部署了开发版,这个版本需要在我git push的时候,自动触发,另一个是正式版,需要我手动发布,这个时候,创建两个发布就可以了。一个自动触发,一个手动新建发布。
至于在一个发布里面添加多个项目,和一个发布管道里面添加多个阶段。我是这样理解的。一个发布管道中的多个项目,意思是所有的项目都可以需要执行后面的阶段,阶段又分为并行阶段和串行阶段。并行的阶段是两个并排一起的,可以同时进行。
串行的阶段,也就是先完成前一个,然后完成后一个。
5.删除项目
点击DefaultCollection->管理设置
点击项目,后面有三个点,点击出现的删除,然后删除就好了