📝

個人でjenkinsを使う時には、自分のログインアカウントのuidに合わせると都合が良い。

2021/09/09に公開

個人でも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を挟めばよい。

https://github.com/kamawanu/zenn.dev-kamawanu-codes/blob/main/smallscripts/chown-jenkins/setmyjenkins.sh

Discussion