阿里云服务器上在docker部署jenkins

2023-05-17,,

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,经过排查发现是防火墙就没打开造成的,出于安装考虑还是把防火墙开上吧,以下步骤仅供参考啦。

工具/原料

 

阿里云服务器centos

方法/步骤

 

     

    执行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即已开启了。

    5

    如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。

    6

    再次执行执行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的安装路径

阿里云服务器上在docker部署jenkins的相关教程结束。

《阿里云服务器上在docker部署jenkins.doc》

下载本文的Word格式文档,以方便收藏与打印。