阿里云服务器上在docker部署jenkins
1、查询jenkins:docker search jenkins
2、拉取jenkins镜像
docker pull jenkins/jenkins:lts
3、新建jenkins的工作目录:
mkdir /homemk/jenkins
4、查看目录归属的ID命令:ls -nd /home/jenkins
给ID用户添加操作权限:chmod 777 /home/jenkins
5、运行容器:docker run -d -p 8080:8080 --name myjenkins -v /home/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins
-d
后台运行镜像-p 8080:8080
将镜像的8080端口映射到服务器的8080端口-p 50000:50000
将镜像的50000端口映射到服务器的50000端口-v /home/jenkins:/var/jenkins_home
。v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。-v /etc/localtime:/etc/localtime
让容器使用和服务器同样的时间设置。--name jenkins
给容器起一个别名
6、浏览器输入http://IP:8080访问jenkins首页
7、查看启动日志
获取到上面的容器id,使用docker logs
命令查看最后30行日志
$ docker logs 7 --tail 30 容器ID或者名称
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
215046cc8de7437dac6ad1d250eddcb0
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
Jun 26, 2018 3:49:41 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Jun 26, 2018 3:49:42 AM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
Jun 26, 2018 3:49:42 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished Download metadata. 7,058 ms
Jun 26, 2018 3:49:43 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Jun 26, 2018 3:49:43 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Jun 26, 2018 3:49:43 AM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
--> setting agent port for jnlp
--> setting agent port for jnlp... done
从上面的日志可以知道,jenkins容器已经首次启动成功,并且将登录密码打印出来了。复制这个密码215046cc8de7437dac6ad1d250eddcb0
。
如果无法登录访问jenkins;需要在Linux系统上把jenkins端口暴露出来步骤如下:
最近在阿里云服务器centos上安装了jenkins,默认是不开启远端访问功能,需要设置一下防火墙,在开放默认端口号 8080时提示FirewallD is not running,经过排查发现是防火墙就没打开造成的,出于安装考虑还是把防火墙开上吧,以下步骤仅供参考啦。
方法/步骤
-
执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下图所示。
-
通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。
-
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
-
再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
-
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。
-
再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。
END - 重启systemctl restart docker
在控制台上,找到安全->防火墙:
如果自己需要暴露某些端口,点击添加规则,暴露需要的端口(主机里面也需要配置好相应的防火墙!!)。
登录访问jenkins
上面指定了本地的端口为9000,于是访问地址为:http://localhost:9000
将上一步复制的密码粘贴进去,即可登录jenkins。
选择安装推荐的插件,点击,下一步
插件正在自动安装,等待完成,下一步
可以填写表单创建一个用户,这里不创建直接右下角,使用admin账户继续。
配置访问路径,这里默认就好,下一步
安装完成,下一步
Jenkins主页面
安装插件
如果上面的步骤中,插件安装失败了,提示无法连接,那就需要梯子或者更换镜像仓库。
这里我们采用比较简单的方式,更换仓库地址来解决插件无法下载安装的问题。
1.jenkins->系统管理->管理插件->高级
把:http://updates.jenkins-ci.org/update-center.json
换成:http://mirror.esuni.jp/jenkins/updates/update-center.json
2.jenkins->系统管理->管理插件->可选插件
通过右上角的搜索框搜索插件,如git、maven,勾选,点击底部按钮直接安装即可。
创建项目
jenkins全局工具配置
进入到jenkins容器中命令:docker exec -it 容器ID或者名称 /bin/bash
在容器内输入:echo $JAVA_HOME 获取容器内java的安装路径