Sign inSign up

anesthesia/jenkins

By anesthesia

•Updated over 4 years ago

Image
0

322

anesthesia/jenkins repository overview

⁠jenkins 启动方式及命令:

~]# docker run -it --name=jenkins --user=root -p 8080:8080 -p 50000:50000 -v /data/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --restart=always -d anesthesia/jenkins:${TAG}

⁠jenkins 启动挂载本地docker环境

docker run -it --name=jenkins --user=root -p 8080:8080 -p 50000:50000 -v /data/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --restart=always --privileged -d anesthesia/jenkins:${TAG}

⁠jenkins 问题解决:
⁠系统时间与宿主机不一致、解决方法如下:

1、查看宿主机 /etc/timezone

2、修改容器 /etc/timezone 与宿主机一致

3、拷贝宿主机时区文件配置到容器中:

~]# docker cp /usr/share/zoneinfo/Asia/Shanghai jenkins:/etc/localtime

⁠如果jobs构建的时间跟系统时间不一致、则在/var/jenkins_home 下创建init.groovy文件并重启jenkins
  • cat 命令生成文件

~]# cat > init.groovy << EOF

~]# System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

~]# EOF

⁠jenkins 容器中无法使用 source 命令
  • 问题原因 docker jenkins 使用的是 ubuntu 的镜像,而 Ubuntu 默认使用的是 /bin/dash 作为解释器,dash 比 bash 功能少很多,不兼容 source
  • 解决方案 1、jenkins 的shell 脚本中加入 #!/bin/bash 2、jenkins 容器中执行命令: dpkg-reconfigure dash 在界面中选择 no

Tag summary

Content type

Image

Digest

Size

275.9 MB

Last updated

over 4 years ago

docker pull anesthesia/jenkins:v2.332.3