Tag: Jenkins
http://<jenkins host>/api/json
$ curl -X POST -u kyanny:xxxxxxxx http://jenkins.example.com/JOB_NAME/build
CSRF Protection If your Jenkins uses the "Prevent Cross Site Request Forgery exploits" security option (which it should), when you make a POST request, you have to send a CSRF protection token as an HTTP request header.
How do I enable CSRF protection? curl -u "admin:admin" 'http://localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'
Ruby Client libraries for communicating with Jenkins Remote Access API
$ java -jar jenkins.war --httpPort=9000 --ajp13Port=9001 --prefix=/jenkins
javaArgs="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
細かいカスタマイズをする場合はシェルの方が扱いやすい
jenkins.xml の <arguments>...</arguments> の中の末尾に --sessionTimeout=1440 (1440 分) と追記して Jenkins サービスを再起動
<Location /jenkins> ProxyPass http://localhost:8080/jenkins ProxyPassReverse http://localhost:8080/jenkins </Location>
wget http://127.0.0.1/jenkins/job/ProjectFoo/build?token=xxxx
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; img-src 'self'; style-src 'self';")
System.getProperty("hudson.model.DirectoryBrowserSupport.CSP")
<string>-Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; img-src 'self'; style-src 'self';"</string>
「Test LDAP settings」ボタンをクリックすると、設定内容が正しいか確認することができる。画面キャプチャでは、 uid=kazukiを使って接続テストした後の状態になっている。
見つけたのが、Jenkins公式で開発されている warnings-ng-plugin 。 プラグインの ng はNext Generationなので、今後はこっちを開発していく方針っぽい。 このプラグインは、静的解析ツールが出した警告や問題を収集して視覚化してくれる。
MavenのProxy設定を記述するsettings.xmlのパス /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/"Jenkins上から入力したMaven名"/conf/settings.xml
src_path=/Users/foo/Sites
dst_archive=Sites_$BUILD_ID.zip
ditto -v -c -k --keepParent $src_path $dst_archive
find . -type f -name "Sites_*" -mtime +8 -exec rm -f {} \;
src_path=/Users/foo/svn
for svnrep in $src_path/*
do
if [ -f $svnrep/format ]; then
svnadmin dump $svnrep | gzip > svn_${svnrep##*/}_$BUILD_ID.svn.gz
else
echo ' -Not svn repository: '$svnrep
fi
done
find . -type f -name svn_*.svn.gz -mtime +7 -exec rm -f {} \;
# source folder path for backup
src_path=/foo/data/trac
rm -rf ./trac
for tracrep in $src_path/*
do
if [ -f $tracrep/VERSION ]; then
echo ' -Trac repository: '$tracrep
/opt/local/bin/trac-admin-2.6 $tracrep hotcopy trac/${tracrep##*/}
else
echo ' -Not trac repository: '$tracrep
fi
done
# archive
zip -r trac_$BUILD_ID.zip trac
# move the archives
mv trac_*.zip /foo/backup/