📝
個人でjenkinsを使う時には、自分のログインアカウントのuidに合わせると都合が良い。
個人でもjenkinsを使ってる人は少なくないと思われるが、大抵はそのまま jenkinsアカウントで動作させてるだろう。
最近のlinuxでは起動にsystemdを使ってるが、このファイルの書き換えで、権限uidを変更して起動できる。
archlinuxの場合 /usr/lib/systemd/system/jenkins.service
/usr/lib/systemd/system/jenkins.service
[Unit]
Description=Extendable continuous integration server
After=network.target
[Service]
User=root # ここを書き換える
Type=exec
EnvironmentFile=/etc/conf.d/jenkins
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=jenkins
ExecStart=/bin/sh -c 'eval $JENKINS_COMMAND_LINE'
#MemoryLimit=768M
OOMScoreAdjust=-1000
LimitCPU=infinity
LimitFSIZE=infinity
LimitDATA=infinity
LimitCORE=0
LimitAS=infinity
LimitLOCKS=infinity
[Install]
WantedBy=multi-user.target
- このService.User行を任意に書き換えて
- jenkinsのworkspaceをchown したのち、
- systemctl daemon-reload
- systemctl restart jenkins
すればよい
小生は次のようなシェルスクリプトを愛用している。
重ねて、小生の場合jenkinsの実行プライオリティを下げている。ExecStartに適切にniceを挟めばよい。
Discussion