AzureDevops任务使用及问题
AzureDevops的任务,就是在一个个阶段中编写的脚本,任务可以是ssh复制文件,可以是cmd命令行,还可以是PowerShell等。
1.问题
(1) EPERM: operation not permitted
我在代理阶段添加了一个命令行任务
当我启动发布,执行命令时,出现了权限禁止的问题(以前是好的,不知道怎么就抽风了。)。
解决方法,就是右键文件夹属性,然后选择安全,对User用户或其他的用户添加完全控制的选项
1.Error: EPERM: operation not permitted, unlink on npm install (没啥用)
2.运行node出现“ operation not permitted”错误解决办法 (这篇是nodejs的问题,和我的问题有些差距)
(2) Host key verification failed.
使用命令行下载仓库的时候,总是会出现这样的问题:
但是我在代理机器上直接执行git pull,确实可以下载代码的,到了Azure Devops 的命令行中,一切都不行了。我删除了C:\Users\Administrator.ssh\known_hosts文件,重新下载,还是不行。
经过我的查看,原来Azure命令行执行 git命令的时候,使用的是自己内部版本的git,而不是代理服务器上安装的git,虽然两者安装在一台机器上,命令行中执行的是:C:\Program Files\Azure DevOps Server 2019\Version Control Proxy\MinGit\cmd 路径下的git,而不是我自己安装的:C:\Program Files\Git\cmd 路径下的git,就像下面的图片一样:
(3) 于是我在该命令行工具中,添加了绝对路径进行git的执行
1 | e: |
结果还是不行,出现了新的问题:Unable to negotiate with 192.168.1.241 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
虽然我已经在C:\Users\Administrator.ssh目录下创建了config文件,并配置了下面的内容,但是不起作用。
1 | Host * |
1.解决Host key verification failed.(亲测有效) (这篇文章虽然说有效,但是我执行了之后,还是不行。我还执行了ssh-keyscan -t rsa 192.168.1.241 >>
2.ssh 登录旧设备的问题解决 (这是使用ssh时的配置)
3.关于no matching key exchange method found. Their offer: diffie-hellman-group1-sha1的解决办法 (也是编写
4.ssh unable to negotiate - no matching key exchange method found
5.8.1 自定义 Git - 配置 Git (这是官网的git说明)
6.Upgrade your deployment to the latest version of Azure DevOps Server (这是如何升级Azure Devops 2020)
2.SSH远程文件复制
1.CopSSH作为服务端
我最近的一个服务器就是使用的CopSSH作为服务端进行的,这里还是有些要注意的地方。
(1) 新建服务连接
(2) 选择ssh服务
(3) 填入对应的服务器信息
填入相应的对应的主机名(主机地址),端口号,用户名,还有就是私钥,密码可以不用填,因为我使用的是公私钥进行验证,我先将id_rsa.pub复制到安装了CopSSH服务器的机器上D:\ICW\home[用户名].ssh\authorized_keys文件中,然后这里的私钥就可以使用要连接CopSSH服务器的机器的.ssh目录下的id_rsa中的内容。