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

前言

每次项目代码更新后都要从新部署,若是只有一台服务器还好.node

可是若是是分布式系统,动不动就不少台服务器,因此代码的自动部署就显得十分重要了.git

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

 

 

思路

  1. 使用git进行版本控制,当项目更新时就触发 Jenkins的构建任务
  2. Jenkins 从 git 拉取最新的代码
  3. 为了不多个节点的运行环境差别,因此须要使用 Docker 来将咱们的 node 项目打包为镜像
  4. 将镜像经过脚本部署到全部的子节点上

 

安装Docker

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

yum install docker

安装dockerjson

docker 安装完成后须要启动docker服务centos

service docker start

 

docker启动完成后,下一步就须要启动docker容器服务器

ps -ef|grep docker

 

 

 Docker上安装Jenkins

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

在安装前须要建立一个目录用于映射 Jenkins 的镜像中的文件,以便安装好 Jenkins 后查看初始密码等操做阿里云

 

建立目录url

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

保存后从新安装便可

相关文章
相关标签/搜索