jenkins+gitee 自动化部署

2,371 阅读2分钟

jenkins

jenkins是一个软件服务,它可以实现工程自动部署,一般在docker下安装。
也可没有docker直接服务器启动
一句大白话解释

通过githooks也就是 git的钩子当你push过去以后。像你的jenkins服务 发送一个接口 告知它执行对应的命令,其中如何知道,是不是这个命令,以及安全性,需要靠令牌以及密码呼应。(jenkins需要安装插件) 就分分钟搞定了

它能实现的是
  • 本地代码push到远程仓库
  • 服务器端Jenkins监听到后执行构建任务,自动拉取代码,执行编译打包,将编译产物部署到web项目工作目录

centos下安装

// 安装java jdk
sudo yum install java 
或者
sudo yum -y install java-1.8.0-openjdk-devel(推荐,稳定)

//安装jekins
yum -y install jenkins

//启动jekins
service jenkins start

访问jenkins 并初始化 服务器路径8080端口打开

image

按照下一步完事以后创建任务(对应一个项目)

image

准备工作

如果想部署gitee管理前端项目,需要nodejs plugin 和 gitee plugin、令牌、web hooks 这四个步骤

image

插件管理搜索 nodejs plugin 和 gitee plugin 具体安装方法可以百度,最后还需要在设置一下
- 令牌设置 -

链接名:自己随意定
Gitee 域名 URL:https://gitee.com
证书令牌:
点击添加
类型:Gitee API 令牌
Gitee APIV5 私人令牌:登录码云情况下,在该浏览器上打开https://gitee.com/profile/personal_access_tokens,新增令牌
描述:自己定

image

然后开始配置这个自动构建任务

image imageimage image image image

然后在码云里也需要配置这个触发的ap,然后可以点测试,看看是不是200

image

然后就是你想要 这个构建做什么,比如 yarn install -> yarn build

// 需要在触发构建中勾选Provide Node & npm bin/ folder to PATH 选择前面安装的nodejs
如图所示
http://qny3sauzy.hb-bkt.clouddn.com/1614855467512.jpg

然后推送本地代码即可发生构建

image

tips:

$WORKSPACE 代表当前项目目录
会进入 然后自动拉代码
这个构建 是依赖node的。所以请确保node版本、npm版本和本地开发的一致性。
然后就是 报错,处理nod_modules报错,可以试着删除 pagejson-lock 文件,
和切换淘宝源

yarn config set registry https://registry.npm.taobao.org
rm -rf package-lock.json

因为是删掉所有 clone。所以保证了不会出现合并出错,和包或资源缓存问题。

这是我的 命令配置

echo $WORKSPACE

node -v
npm -v



yarn config set registry https://registry.npm.taobao.org

rm -rf package-lock.json

yarn install &&
yarn build

cp -r  dist /etc/nginx/
优化:
可以不要每次都复制,直接把nginx dist配置到这个jenkis目录,
也可以更改jenkins目录到放置前端资源的地方。