共计 1165 个字符,预计需要花费 3 分钟才能阅读完成。
前言
因为近期接手了前端的我的项目,在我的项目打包部署的时候,手动操作构建打包部署等等步骤十分繁琐,所以本人尝试应用 jenkins 帮忙本人解决这一懊恼。之前有用过,但只是应用而已。这次借机本人搭建配置一下,本认为很简略然而在本人应用的过程也多多少少遇到了几个坑。接下来本篇文章就以部署前端我的项目为例开展解说一下。
一、装置 jenkins
能够查看我之前的文章:jenkins 具体装置教程
二、依照必要插件
- 点击系统管理 -> 插件治理 -> 可选插件
须要装置两个插件
[NodeJS Plugin](用于构建前端我的项目应用)[Publish Over SSH](用于把我的项目部署的近程服务器应用)
三、插件配置
1、[NodeJS Plugin]:点击系统管理 -> 全局工具配置
2、[Publish Over SSH]:点击系统管理 -> 系统配置
- 进入 jenkins 服务器配置公钥和私钥
ssh-keygen -t rsa
- 一路回车会在以后用户目录下,生成 ssh 文件外面的
id_rsa
就是私钥,id_rsa.pub
就是公钥 - 把
id_rsa.pub
就是公钥里的内容复制到近程服务器(例如:47.104.36.36)的~.ssh/.ssh/authorized_keys 中
vi .ssh/authorized_keys
四、新建工作
1、填入形容
2、配置 git,进入工作配置,抉择源码治理
3、设置构建环境,抉择 Provide Node & npm bin/ folder to PATH 而后抉择之前装置插件时候配置的 node 版本
4、构建,减少构建步骤抉择 Excute shell
node -v
npm install
npm run build
tar -czvf dist.tar.gz dist
5、构建后操作,减少构建后操作步骤抉择 Send build artifacts over SSH
cd /data/www/wwwroot/test
tar -zxvf dist.tar.gz
rm -rf dist.tar.gz
6、保留后点击“立刻构建”查看工作是否构建实现
遇到的几个坑
- 配置好秘钥后连贯点击测试连贯报错,报错提醒
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@60373f7]
因为咱们生成密钥的 openssh 的版本过高的起因,解决办法如下:从新执行以下命令生成新的秘钥,应用新生成的秘钥即可
ssh-keygen -m PEM -t rsa -b 4096
- 拷贝 ssh 公钥到 authorized_keys 后依然无奈免密登录解决办法
解决办法:
别离批改批改.ssh 目录的权限以及 authorized_keys 的权限
chmod 644 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
正文完