Jenkins -使用python脚本创建代理

aydmsdu9  于 2023-06-21  发布在  Jenkins
关注(0)|答案(1)|浏览(136)

正如标题所示,我愿意使用Python自动创建Jenkins代理!
我对Jenkins没有任何想法,也不知道它是用来做什么的,我只是在实习中有一个任务要做,我不能跳过它,所以我只是安装了Jenkins,还没有做任何事情!
我很抱歉没有给出代码示例,因为我真的被困在那个任务中了!我所拥有的就是这个django视图函数:

@login_required
def create(request):
    if request.method == 'POST':
        name = request.POST.get('form-submit')
        description = request.POST.get('employe-description')

        employee = Employee(user=request.user, name=name, description=description)
        employee.save()

        return redirect('create')

    return render(request, 'create.html')

我想要的是,当表单提交时,将使用与请求中的员工相同的名称创建一个Jenkins代理。
先谢谢你了。

db2dz4w8

db2dz4w81#

你需要把要求弄清楚一点。它应该是哪种类型的代理?Windows,Linux?或者你必须在Kubernetes集群或Docker中创建它?无论如何,这会有点复杂。
作为起点,因为您使用的是Python,请看一下python-jenkins package。您可以使用它从Python中与Jenkins交互。有详细的documentation
具体地说,请查看创建节点的部分,因为这是您的任务。您可以在此处看到正在创建的Linux节点:

params = {
    'port': '22',
    'username': 'juser',
    'credentialsId': '10f3a3c8-be35-327e-b60b-a3e5edb0e45f',
    'host': 'my.jenkins.slave1'
}
server.create_node(
    'slave1',
    nodeDescription='my test slave',
    remoteFS='/home/juser',
    labels='precise',
    exclusive=True,
    launcher=jenkins.LAUNCHER_SSH,
    launcher_params=params)

即使有了这个代码块,在幕后仍然有很多事情要做,所以你还必须学习一些关于Jenkins的知识。

    • 主机**:这是您的实际代理。如果您运行的是Linux VM作为代理,则该计算机应具有IP地址。您将在此处输入的是此IP地址。
    • 证件**:您需要使用凭据插件单独设置代理的凭据,并在此处使用它。关于凭证及其使用方法的教程可以在here找到。例如,在上述情况下,如果您使用Linux VM作为代理,则凭据将是该Linux VM的用户名和密码。
    • 端口**:SSH端口,通常为22。

至于server.create_node中的参数,您可以保持原样。至于你在哪里可以得到这些信息,你必须问你的团队。需要调配虚拟机并准备好使用,但这可能不是您任务的一部分。

相关问题