我是poetry,点击上方“关注”,每天为你分享前端进阶与个人精进干货。

一、前言1.1 传统网站部署的流程

传统的网站部署,大家在运维过程中,网站部署是运维的工作之一,网站部署的流程大致分为:需求分析—原型设计—开发代码—提交测试—内网部署—确认上线—备份数据—外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚。(如下图所示)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(1)

1.2 目前主流网站部署的流程

目前主流网站部署方法,通过jenkins工具平台实现全自动部署 测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用

简单来说方便如下人员:

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(2)

1.3 Jenkins持续集成简介1.4 持续集成意义1.5 持续集成组件二、环境搭建2.1 Jenkins安装部署

由于Jenkins属于一个JAVA 代码,需要java容器才能运行jenkins,所以需要安装JDK Tomcat

这里我们以RPM方式部署jenkins

下载对应的RPM包 https://pkg.jenkins.io/redhat-stable/

rpm -ih jenkins-2.7.4-1.1.noarch.rpm

jenkins 常用命令

service jenkins start/stop/restart chkconfig jenkins on

jenkins的目录结构

/usr/lib/jenkins/jenkins.war #WAR包 /etc/sysconfig/jenkins #配置文件 /var/lib/jenkins/ #默认的JENKINS_HOME目录 /var/log/jenkins/jenkins.log #Jenkins日志文件

启动jenkins

service jenkins start

修改jenkins端口

vim /etc/sysconfig/jenkins JENKINS_PORT="8888"

防火墙开启8888端口

[root@localhost modules]# vim /etc/sysconfig/iptables # firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT # here -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT

再次启动jenkins:

[root@localhost modules]# service jenkins start

打开地址 127.0.0.1:8888

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(3)

出现此提示说明,启动成功!因为是第一次安装,所以得输入默认密码,默认密码在红框标注的位置。

查看默认密码将密码粘贴到文本框中:

[root@localhost secrets]# cat /var/lib/jenkins/secrets/initialAdminPassword 97c675381d524414ba11e61c4f4b7ef0

安装插件

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(4)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(5)

2.2 基础环境配置 2.2.1 插件安装

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(6)

安装Publish Over SSH用于执行构建后的操作

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(7)

安装nodejs环境

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(8)

2.2.2 配置信息

配置git命令

whereis git

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(9)

配置node信息

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(10)

配置git账户及ssh用户信息

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(11)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(12)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(13)

2.3 创建项目

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(14)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(15)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(16)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(17)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(18)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(19)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(20)

2.4 git提交自动触发构建

根据下面填写地址,以bitbucket git仓库配置为例子

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(21)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(22)

jenkins自动化部署所有机器(学会使用Jenkins自动部署你的前端项目)(23)

这样提交git代码触发git hooks操作去请求 http://192.168.1.43:8991/job/test/build?token=cxk启动jenkins任务,以达成自动部署任务

div :class="{ active: isActive }"></div>

作者介绍:poetry,专注前端进阶写作与个人精进干货,目前在上市公司负责小程序等相关的研发。

,