ani*_*eni 24 terminal hudson jenkins jenkins-plugins
我正在尝试创建一个用于设置Jenkins的bash脚本.有没有办法从Jenkins终端更新插件列表?
首次设置时,列表中没有可用的插件
即:
java -jar jenkins-cli.jar -s `http://localhost:8080` install-plugin dry
Run Code Online (Sandbox Code Playgroud)
不行
Mic*_*raz 36
一种简单但有效的方法是首先列出所有已安装的插件,查找更新并安装它们.
java -jar /root/jenkins-cli.jar -s http://127.0.0.1:8080/ list-plugins
每个插件都有可用的更新,最后在括号中有新版本.所以你可以为那些:
java -jar /root/jenkins-cli.jar -s http://127.0.0.1:8080/ list-plugins | grep -e ')$' | awk '{ print $1 }'
如果您使用插件名称调用install-plugin,它会自动升级到最新版本.
最后你必须重新启动jenkins.
把它们放在一起(可以放在shell脚本中):
UPDATE_LIST=$( java -jar /root/jenkins-cli.jar -s http://127.0.0.1:8080/ list-plugins | grep -e ')$' | awk '{ print $1 }' );
if [ ! -z "${UPDATE_LIST}" ]; then
echo Updating Jenkins Plugins: ${UPDATE_LIST};
java -jar /root/jenkins-cli.jar -s http://127.0.0.1:8080/ install-plugin ${UPDATE_LIST};
java -jar /root/jenkins-cli.jar -s http://127.0.0.1:8080/ safe-restart;
fi
Run Code Online (Sandbox Code Playgroud)
小智 31
您实际上可以从计算机终端(而不是Jenkins终端)安装插件.
http://updates.jenkins-ci.org/download/plugins
)$JENKINS_HOME/plugins directory
http://yourservername:8080/jenkins/reload
)这将启用Jenkins中的插件并假设Jenkins已启动.
cd $JENKINS_HOME/plugins
curl -O http://updates.jenkins-ci.org/download/plugins/cobertura.hpi
curl http://yourservername:8080/reload
Run Code Online (Sandbox Code Playgroud)
以下是使用Ansible部署Jenkins CI插件的方法,当然这是从终端使用的.此代码是以下内容的一部分roles/jenkins_ci/tasks/main.yaml
:
- name: Plugins
with_items: # PLUGIN NAME
- name: checkstyle # Checkstyle
- name: dashboard-view # Dashboard View
- name: dependency-check-jenkins-plugin # OWASP Dependency Check
- name: depgraph-view # Dependency Graph View
- name: deploy # Deploy
- name: emotional-jenkins-plugin # Emotional Jenkins
- name: monitoring # Monitoring
- name: publish-over-ssh # Publish Over SSH
- name: shelve-project-plugin # Shelve Project
- name: token-macro # Token Macro
- name: zapper # OWASP Zed Attack Proxy (ZAP)
sudo: yes
get_url: dest="{{ jenkins_home }}/plugins/{{ item.name | mandatory }}.jpi"
url="https://updates.jenkins-ci.org/latest/{{ item.name }}.hpi"
owner=jenkins group=jenkins mode=0644
notify: Restart Jenkins
Run Code Online (Sandbox Code Playgroud)
这是一个更完整的示例的一部分,您可以在以下网址找到:https: //github.com/sakaal/service_platform_ansible/blob/master/roles/jenkins_ci/tasks/main.yaml
随意根据您的需求进行调整.
归档时间: |
|
查看次数: |
37945 次 |
最近记录: |