如何使用Ansible脚本将构建的jar从Jenkins复制到远程服务器?

时间:2019-06-25 09:42:42

标签: maven jenkins ansible

我在GitHub存储库中有一个Maven应用程序。我必须在Jenkins中设置Maven项目管道,以使构建成功后,生成的jar文件将自动复制到远程服务器位置(而不是任何容器)。我不维护Jenkins的安装,也不是经验丰富的Jenkins用户。一位同事向我展示了一些她在项目根目录的部署文件夹中编写的YAML文件,这有助于她完成工作。文件是stocking.yml,其中列出了部署服务器的地址和其他变量,而deploy.yml,其中包含了Ansible脚本,该脚本将罐子复制到服务器位置。但是,根据她的说法,实际上将罐子复制到远程位置的语句看起来并不多:

copy: src=/tmp/{{ artifactPath | basename }} dest=/tmp/ mode=0777

仍然,我尝试使用该项目创建一个Jenkins Maven项目,但是控制台输出似乎没有被调用脚本,因为那里没有显示任何回显命令。

然后,我尝试创建一个Post-Build步骤来执行一个shell脚本,根据对这个问题的回答尝试将jar文件压缩到远程位置:

How to copy a file or jar file that has built from jenkins to a diff host server

scp –P 22 DQMDME-0.0.1-SNAPSHOT.jar ci_deploy@cr2xr909489:~/home/ddqmeng/DQMDME-0.0.1-SNAPSHOT.jar

但是,这导致“主机密钥验证失败”消息。

我尝试使用以下方法跳过主机文件验证:

https://www.middlewareinventory.com/blog/how-to-ignore-ssh-host-key-verification/

但是,我没有运气。我无权访问Jenkins服务器,因此无法在其中添加密钥。另外,我自己不能添加任何插件。我也许可以要求安装它们,但这将是一个漫长的过程。无需任何额外的插件就可以实现这一目标吗?

0 个答案:

没有答案