如何将 AWS 实例的详细信息传递给 jenkins 作业,以便作业在实例中 ssh 和执行



我正在尝试将组织中自动脚本(Jenkins 作业(的执行从本地服务器移动到 AWS。我有一个 Jenkins 作业来从快照中启动一个 ec2 实例。 我提出的实例由 5 个用户配置文件组成,总共 5 个自动化作业可以登录到该实例并执行其脚本。

我的问题是,一旦执行了作业,我提出的实例将被终止(因为我们在一个月内执行这些脚本大约 3 到 4 次(。所以每次,我都会启动一个实例,它会有不同的 IP 地址,需要传递给其他 Jenkins 作业,以便作业登录到实例并执行脚本。我的问题如下。

如何将实例的详细信息传递给 jenkins,使进程动态化? 有没有其他方法可以解决这个问题(您可能在您的组织中实施的任何解决方案(?

您需要在 Jenkins 中配置两件事,以便将参数传递给您的作业。

  1. 在生成触发器中启用"远程触发生成"。在此处阅读更多相关信息。
  2. 启用"此项目已参数化"并配置参数。在此处阅读更多相关信息。

现在,您可以远程启动作业并在 URI 中传递参数,如下所示:

http://server/job/myjob/buildWithParameters?token=TOKEN&PARAMETER=Value

第二个链接中也对此进行了解释。

然后剩下要做的就是将参数添加到脚本的命令行参数中。因此,如果您使用执行 Shell 构建步骤,它将如下所示:

python /path/to/file/scripit.py --some_arg ${PARAMETER}

最新更新