我的应用程序
我正在尝试创建一个jenkins工作来实现我的CI / CD管道.我正在使用SVN存储库进行版本控制.当我提交到此存储库时,Jenkins中的作业配置需要触发并需要调用一个Ansible Playbook YML文件.我正在使用Ansible playbook配置我的管道的每个阶段.
我目前的方法
我创建了一个svn存储库,并在hooks目录中配置了post-commit钩子.我创作了一本ansible剧本.我正在使用这个ansible playbook构建我所有的管道阶段.
当我手动运行ansible playbook时,它已成功运行.但是当我创建一个jenkins工作并使用job来调用这个剧本时,Ansible部分显示了“Red Crossmark”.
我在jenkins做的步骤
>创建了新的jenkins自由风格项目
>编辑了项目的描述
>在源代码管理中选择“Subversion”并添加SVN repo URL和凭据
>选中“构建触发器”部分中的“轮询SCM”
>在Build部分选择“Invoke Ansible Playbook”并添加了剧本Url.
下图显示了调用ansible部分,
更新
NB – :使用sudo复选框检查状态
错误
当我试图申请时,它没有显示任何内容.如果我保存并再次从仪表板中取出,则显示“失败”.如下面的屏幕截图所示,
更新了控制台输出错误
TASK [Gathering Facts] *********************************************************
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "sudo: a password is required\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
to retry, use: --limit @/home/spacestudy/pipelinesite.retry
PLAY RECAP *********************************************************************
localhost : ok=0 changed=0 unreachable=0 failed=1
通过取消选中sudo复选框更新了尝试
TASK [pipelinerole : login into dockerhub] *************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', error(13, 'Permission denied'))"}
to retry, use: --limit @/home/spacestudy/pipelinesite.retry
Shell命令在EC2上的直接测试方法
NB-:
当我在我的EC2上直接运行“$ansible-playbook”shell命令命令时,同样的错误.但是当我运行shell命令“$sudo ansible-playbook”时,错误没有得到.因此,我在这里也检查了“sudo”复选框.但我变得非常不同
任何人都可以请我帮忙解决因失业而发生的问题以及为什么我无法申请?
最佳答案 也许问题是对SVN存储库的权限?它需要身份验证吗?
错误是连接中止.’,错误(13,’权限被拒绝和sudo:需要密码.根据屏幕截图,您没有指定任何用户凭据.当您的构建计算机访问SVN服务器和存储库时,似乎它必须提供用户名和密码.如果您现在指定凭据并仍然看到错误,请确保它们是正确的,并且用户帐户具有对存储库的读取权限.