zoukankan      html  css  js  c++  java
  • 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

    保存后重新安装即可

  • 相关阅读:
    OSPF如何生成默认路由(转)
    H3C MSR830 V5.01 PPPOE拨号配置
    H3C V5 Ipsec 野蛮模式
    OSPF NSSA区域内有多个ABR时,7类LSA转换5类LSA的站点选择(转)
    什么是MTU?为什么MTU值普遍都是1500?(转)
    OSPF链路状态数据的结构
    Cisco Cpos STM 配置示例(转)
    Juniper SRX Junos升级(自己做的升级)
    Juniper SRX Junos升级(转)
    接口自动化测试 python+request+excel(踩‘坑’)
  • 原文地址:https://www.cnblogs.com/lhyxq/p/10791776.html
Copyright © 2011-2022 走看看