centos7 jenkins 发布vue ssr

张映 发表于 2018-12-11

分类目录: 服务器相关

标签:, ,

jenkins不光能发布前端vue,ssr,发布php,java等服务端语言都可以,不管是需要编译的,还是不要编译的都可以。

jenkins做为发布服务端,可以手动发到不同的服务器发布代码。不建议配置自动发布。

一,jenkins安装配置

# wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# yum install java-1.8.0-openjdk jenkins git
# systemctl status jenkins  //启动

安装过程中,会建设你安装一些插件,建议全部安装。安装完了以后,systemctl,service,/etc/init.d/都可以启动,默认端口是8080,可以用nginx 80反代8080来操作,不建议把端口改到1024以下,jenkins启动用户不是root。

二,安装nodejs和pm2

# curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
# yum install nodejs
# npm install -g cnpm --registry=https://registry.npm.taobao.org
# cnpm install pm2 -g   //cnpm比较快,感觉比npm换源,还要快点

三,发布vue

1,安装 publish over ssh插件

jenkins publish over ssh

jenkins publish over ssh

这个插件是jenkins发布机根其他机器的桥梁。

2,配置ssh免密登录

# ssh-keygen -t rsa
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.103 -p 22
# ssh 192.168.10.103  //如果需要指定密钥路径,可以用-i

3,publish over ssh 插件配置

jenkins publish over ssh setting

jenkins publish over ssh setting

系统管理-系统设置里找到Publish over SSH这一项

Passphrase:密码(key的密码,没设置就是空)
Path to key:key文件私钥的路径
Key:将私钥复制到这个框中(path to key和key写一个即可)

SSH Servers的配置:
SSH Server Name:标识的名字(随便取)
Hostname:需要连接ssh的主机名或ip地址
Username:用户名
Remote Directory:远程目录,要注意,根下面配置发布有关联关系

ssh server可以添加多个,但是统一登录的私钥要一样。没发现这个插件有添加多个私钥的地方。

4,创建任务

jenkins 创建任务

jenkins 创建任务

5,git配置

jenkins git 配置

jenkins git 配置

6,创建构建操作

jenkins 构建执行脚本1

jenkins 构建执行脚本1

jenkins 构建执行脚本2

jenkins 构建执行脚本2

7,创建构建后操作

jenkins 构建执行脚本后操作

jenkins 构建执行脚本后操作

jenkins 构建执行脚本后操作2

jenkins 构建执行脚本后操作

remote directory是没有填写的,因为上面添加ssh server的时候已经指定

8,发布与发布监控

jenkins 发布

jenkins 发布

jenkins 发布过程监控

jenkins 发布过程监控

四,发布ssr

ssr包括了,有nodejs和vue,所以就不用采取传打包后代码的方式,把代码clone到目标服务器,然后通过jenkins执行linux 命令即可。根发布vue不同的是,少了第6步,不需要构建操作了。

jenkins ssr发布

jenkins ssr发布

总得来说,jenkins安装是比较简单的,但是配置有点复杂,并且需要对服务器有点了解,对发布流程比较熟悉。



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/server/1985.html

留下评论

留下评论
  • (必需)
  • (必需) (will not be published)
  • (必需)   5X4=?