Docker安装Jenkins+Shell脚本自动化部署项目

Jenkins是一款开源的CI&CD软件, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要 。

Docker安装Jenkins+Shell脚本自动化部署项目

文章插图
Jenkins
Jenkins基于JAVA环境,可以部署在windows/mac OS/linux上,通过其网页可视化界面可以轻松操作Jenkins 。
接下我们会分成三部分来讲解:
  • Docker安装Jenkins
  • Jenkins首次登录配置
  • 构建一个项目完成自动部署
docker安装Jenkins我们在linux环境使用Docker安装一个Jenkins,你需要事先安装Docker和Docker-compose,如果不知道怎么安装可以看我的安装教程文章 。
1.远程连接linux服务器,创建docker在主机的jenkins数据映射目录
cd /optmkdir jenkinscd jenkinsmkdir home2.(可选)给数据映射目录授权docker用户访问权限,不然docker启动jenkins时会报权限的错 。如果指定了容器内以root用户运行的话,可以不用执行授权命令 。
sudo chown -R 1000 homejenkins容器内部的用户id是1000,而主机上home目默认是root用户才能访问,需要授权给jenkins容器用户 。-R 代表home目录及其子目录一起授权 。
3.我们用docker-compose安装,当然你也可以用docker run的方式,创建一个docker-compose.yml文件 。
version: "3"services:  jenkins:    image: jenkins/jenkins:lts    ports:      - 8080:8080      - 50000:50000    restart: "always"    container_name: jenkins    environment:      JAVA_OPTS: -Duser.timezone=Asia/Shanghai    volumes:      - /opt/jenkins/home:/var/jenkins_home      - /var/run/docker.sock:/var/run/docker.sock      - /usr/bin/docker:/usr/bin/docker    privileged: true    user: root官网中文文档与英文文档不一致,不要使用中文文档中推荐的jenkinsci/blueocean镜像,使用它构建node程序会出现问题,因为我的项目需要同时构建前端vue项目和后端springboot项目,所以我这里使用jenkins/jenkins:lts版本镜像 。
(可选)最后一行的user:root指的是指定容器内部使用root账号,如果加了这行可以把第二步省略 。可以通过docker exec -t jenkins bash命令进入到容器内部然后运行whoami命令查看当前用户 。
注意其中我们映射了一个容器内的/var/jenkins_home目录,这是作为Jenkins的主目录,里面会存放Jekins的各种配置和构建的项目工作空间,后面需要用到这个对应的主机映射路径 。映射的端口可以自行修改 。
4.启动Jenkins容器
userdocker-compose up -d安装就成功了,你可能看着很简单,其实这一步是最多坑的地方,第二步中的映射目录授权很多人没做导致报错排查了很久,docker-compose配置文件里有映射了几个目录如果没有后面也会让你头疼的 。
 
Jenkins首次登录配置1.首次登陆,解锁jenkins,启动完成后打开浏览器 ip:8080。
Docker安装Jenkins+Shell脚本自动化部署项目

文章插图
解锁Jenkins
获取密码,在服务器控制台运行以下命令查看密码,注意这里的目录是主机的目录/opt/jenkins/home,对应的是容器内的/var/jenkins_home目录 。
cat /opt/jenkins/home/secrets/initialAdminPassword2.自定义插件
不了解自己需要的插件的话选择安装推荐的插件,如果你是学习目的的话可以选择插件来安装 。
Docker安装Jenkins+Shell脚本自动化部署项目

文章插图
自定义插件
推荐安装插件界面
Docker安装Jenkins+Shell脚本自动化部署项目

文章插图
推荐安装插件
选择插件安装页面
Docker安装Jenkins+Shell脚本自动化部署项目

文章插图
选择插件安装
安装插件的过程比较久,慢慢等待 。
3.创建一个管理员用户
【Docker安装Jenkins+Shell脚本自动化部署项目】安装完插件会出现创建管理员用户的界面 。填写用户名和密码以及邮件地址即可 。
Docker安装Jenkins+Shell脚本自动化部署项目

文章插图
创建一个管理员用户
4.进入jenkins首页
默认有一些地方是英文的,你可以服务器重启下jenkins容器就可以变成中文了 。
Docker安装Jenkins+Shell脚本自动化部署项目


推荐阅读