Memo/Jenkins

https://dexlab.net:443/pukiwiki/index.php?Memo/Jenkins
 

Jenkins


API

  • curlでjob単体の状態を得る。jqでjsonの整形。Jenkins 1.384まではcrumbの指定が必須だった。
    jenkins_url=https://jenkins.example.com:8080/jenkins
    jenkins_user=user01
    jenkins_job=test01
    read -sp 'jenkins_password: ' jenkins_password
    
    # clumbの取得
    jenkins_clumb=$(curl -s -u "${jenkins_user}:${jenkins_password}" ${jenkins_url}/crumbIssuer/api/json | jq -r '.crumb')
    
    # job単体の取得
    curl -s -u "${jenkins_user}:${jenkins_password}" -H "Jenkins-Crumb:${jenkins_clumb}" ${jenkins_url}/job/${jenkins_job}/api/json | jq

ユーザの権限管理

  • 指定ユーザがjobの実行だけできるように

v1からv2への移行


コードで管理

  • Ansible module に幾つかある
    • jenkins_job - Manage jenkins jobs
    • jenkins_job_facts - Get facts about Jenkins jobs
    • jenkins_plugin - Add or remove Jenkins plugin
    • jenkins_script - Executes a groovy script in the jenkins instance

プラグイン


サーバをマスター/スレーブ構成にして分散ビルド

  • SSHスレーブ
    • 非対話モードになるので環境変数は ~/.bashrc (/etc/bashrc) が使われる。 ~/.bash_profile (/etc/bash_profile)は使われない。

外部ジョブの監視

書籍


手動インストール


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-10-05 (金) 14:32:17 (15d)