node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins

前言

每次项目代码更新后都要重新部署,如果只有一台服务器还好.

但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了.

这里用几篇文章来记录一下如何使用Jenkins,Docker,github来搭建一个自动化部署的node项目.

 

 

思路

  1. 使用git进行版本控制,当项目更新时就触发 Jenkins的构建任务
  2. Jenkins 从 git 拉取最新的代码
  3. 为了避免多个节点的运行环境差异,所以需要使用 Docker 来将我们的 node 项目打包为镜像
  4. 将镜像通过脚本部署到所有的子节点上

 

安装Docker

本人使用的阿里云的服务器,操作系统Centos7 

yum install docker

安装docker

docker 安装完成后需要启动docker服务

service docker start

 

docker启动完成后,下一步就需要启动docker容器

ps -ef|grep docker

 

 

 Docker上安装Jenkins

docker 安装好后下一步就是安装 Jenkins 镜像

在安装前需要创建一个目录用于映射 Jenkins 的镜像中的文件,以便安装好 Jenkins 后查看初始密码等操作

 

创建目录

mkdir /var/jenkins_home

 

然后修改该目录的权限,不然很可能在 Jenkins 镜像映射文件时没有操作权限,导致镜像启动秒退

chown -R 1000:1000 /var/jenkins_home

 

然后我们就可以拉取 Jenkins 镜像了

docker pull jenkins/jenkins:lts

 

然后我们可以通过以下命令来查看已经存在的镜像

docker images

 

接下来就是启动 Jenkins 容器了

命令如下:

docker run -d --name myjenkins -p 9000:8080 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

该命令的含义大致如下:

  • 在后台运行一个基于jenkins:latest镜像的容器, 容器的名字叫做 jenkins_node ,把容器的8080端口映射为服务器的 9000 端口(因为Jenkins的默认端口为8080),并且把服务器上的/var/jenkins_home目录挂在到docker容器上的/var/jenkins_home目录
  • -d 后台运行docker容器
  • --name 为容器起个别名
  • -p docker容器端口映射
  • -v 文件挂载

 

如果出现

这样的报错信息,并且容器已经成功创建的情况下,说明可能是centos系统版本兼容性问题

使用下方代码后再运行即可解决:

yum update

 

那么怎么判断是否成功呢?

使用以下代码可以查看docker已经创建的容器:

docker ps -a

如上图所示,我们jenkins已经创建并运行了 3 分钟了

 

然后我们再去看看之前创建用于挂载文件的文件夹

发现其中已经存在了许多 Jenkins 的文件,那么我们就可以开始使用Jenkins了

 

访问: 你的服务器IP加上映射的端口就行了

 

Jenkins配置

首先我们需要找到 Jenkins 的初始化密码

所以如果之前我们没有将Jenkins的目录挂载到容器外,那么我们还需要进入容器进行查找

 

现在我们就只需要到你的服务器上刚才映射的目录去找就行了

然后将其中的内容输入输入框

接下来你会看到下面的页面

这里是让你选择安装的插件,如果是没有特殊需求,直接选择左边的安装建议的插件即可

如下图所示

这里插件没有安装成功的不用太在意,如果有强迫症的话可以重新安装插件即可

如果失败很多次,那么就需要将Jenkins的插件镜像站换成国内的镜像站

先点击 Continue 

然后创建账号

 

 

 完成后我们就先把刚才插件的问题解决一下

在系统设置的插件管理中

 

 点击进入后选择高级选项

将升级站点的url替换为

http://mirror.esuni.jp/jenkins/updates/update-center.json

保存后重新安装即可

 

posted @ 2019-04-29 17:31  巽秋  阅读(854)  评论(0编辑  收藏  举报