【问题标题】:Jenkins installation issue through Ansible playbook通过 Ansible playbook 的 Jenkins 安装问题
【发布时间】:2019-04-16 13:22:37
【问题描述】:

我已经编写了 ansible playbook 来在我们的生产虚拟机中安装 cloudbees jenkins。第一次运行 ansible playbook 时,它成功了,但 jenkins 没有启动并运行,第二次运行相同的 playbook jenkins 启动并运行良好。

我已手动下载 jenkins.war(2.138.x) 并移至 VM。第一次运行ansible playbook时成功执行,但jenkins没有启动并运行,所以我进入vm并检查了jenkins主目录。它只显示一个文件夹,即 WAR,但是在第二次运行相同的剧本时,jenkins 正在运行,我再次登录到 Vm 并检查了 jenkins 主目录。现在我可以看到主目录中的所有配置文件。我已经检查了我观察到的日志,这是我第一次在运行 jvm 行时没有使用。但是在第二次运行时,我观察到了一些与 jvm 相关的行。但是我已经安装了 java,并且我也设置了环境变量。

   - hosts: all
     become: true
     become_user: user1

     tasks:

     - name: installing the jenkins
       shell: nohup java -DJENKINS_HOME=/user1/jenkins -jar /user1/jenkins.war &

我只希望在运行 Ansible-playbook 时首次安装 cloudbees jenkins

【问题讨论】:

  • 在没有ansible的情况下手动运行jenkins会有什么结果?
  • 你不应该使用 nohup 来运行 jenkins。你应该用过这些包。似乎 nohup 退出(如果退出)没有被 ansible 捕获,因为它是在后台运行的。如果您可以重新创建获取 nohup.out 内容并将其发布在此处。
  • @Nelson,当手动运行 jenkins 时,一切都很完美,这意味着 jenkins 启动并运行并且 nohup。 out也在VM中创建
  • VM java.lang.Error 初始化期间发生错误:属性初始化:无法确定当前工作目录。在 java.lang.System.initProperties(Native Method) 在 java.lang.System.initializeSystemClass(System.java:1166)
  • 这些错误是指当时执行命令的目录不存在。您能否使用更新的剧本更新描述,即使用带有 args 模块的命令。您还应该指定 java 二进制文件的完整路径

标签: jenkins ansible cloudbees


【解决方案1】:
- hosts: all
  become: true
  become_user: user1

  tasks:

    - name: installing the jenkins
      shell: cd /user1 ; nohup java -DJENKINS_HOME=/user1/jenkins -jar jenkins.war &

先把当前目录改成你的jenkins war文件目录,然后在远程服务器运行nohup命令

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-29
    • 1970-01-01
    • 2013-05-02
    • 2022-06-29
    • 2018-09-26
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    相关资源
    最近更新 更多