linux中使用jenkins自动部署前端工程
1、去年在自己的服务器上安装了jenkins,说用来自己研究一下jenkins自动化部署前端项目,jenkins安装好了,可是一直没管,最近终于研究了一下使用jenkins自动化部署,以此记录下来。
一、jenkins的安装
由于安装已经过去大半年时间了,具体步骤没有记录,可以到网上自行百度。
大致流程:
1、安装jdk
2、下载jenkins包并安装
3、修改jenkins端口(我用的8888端口)
4、防火墙开启对应端口(我的开启8888端口)
5、启动jenkins:service jenkins start
注:jenkins安装好后的默认账号是admin,默认密码在 /var/jenkins_home/secrets/initialAdminPassword 文件中,重置密码请自行百度

二、配置jenkins权限
安装完Jenkins后,还需要再配置一下Jenkins的root权限(提升执行shell命令的权限)
sudo vim /etc/sysconfig/jenkins
编辑状态中
JENKINS_USER="root"
修改 Jenkins 相关文件夹用户权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
重启jenkins服务
service jenkins restart
三、jenkins安装插件
点击Dashboard 旁边的向下的黑色箭头(截图里看不到)-系统管理-插件管理


进入到该页面后,点击 可选插件,可以搜索并安装插件
需要安装如下插件:
NodeJS Plugin(nodejs环境)
Publish over SSH (用于执行构建后的操作)
Gitee Plugin(由于我用的是gitee管理代码,所以需要安装)
四、配置信息
点击左上角Dashborad -> 系统管理 -> 全局工具配置

4.1、配置git命令

4.2、配置node信息
这里需要选择和自己本地node一致的版本

4.3、配置gitee

证书令牌需要提前在gitee里配置,登录gitee账户,进入设置 -> 私人令牌 页面,点击生成新令牌

4.4、配置Publish over SSH
1、在自己的服务器上生产ssh key
ssh-keygen -t rsa -C "xxxx@xxx.com"
2、查看生成的公钥
cat ~/.ssh/id_rsa.pub
3、复制公钥到下图的位置


五、新建任务
5.1、添加任务和选择任务类型
点击左侧的 新建任务,打开如下页面,输入一个任务名称,选择“构建一个自由风格的软件项目”,点击确定

5.2、配置源码管理

5.3、配置构建触发器


5.4、配置构建环境

5.5、配置构建
增加构建步骤 选择 执行shell,并编写shell脚本:

继续点击:增加构建步骤 -> Send files or execute commands over SSH
执行sheel脚本,其实sheel脚本里的命令也就是先把nginx下的对应前端工程代码先进行备份,然后使用npm命令进行打包,生成dist目录,最后再把dist目录下的所有文件复制到nginx下对应的前端工程目录下,这样也就完成了前端工程部署。nginx下替换完前端工程代码后,不用重启nginx。
备注:该篇博客里记录的配置步骤有些粗糙,或许存在遗漏。不足之处敬请指教。
linux中使用jenkins自动部署前端工程的更多相关文章
- 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建
使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...
- jenkins自动部署maven工程到服务器----SSH+shell
今天心情不是很美丽,玩笑话可能没那么多,还是回归正题 1.指定SSH端口.用户名.密码相关配置,我这里没有需要配置密钥啥的. 2.接下来再创建任务的时候,进行SSH配置: 3.看到这里,是不是很想打我 ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- 使用Jenkins自动部署博客
title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...
- Jenkins自动部署spring boot
Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 内存溢出导致jenkins自动部署到tomcat失败
原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...
- jenkins自动部署代码到多台服务器
下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...
- 15.自动部署web工程
用maven自动部署web工程 在pom.xml中写入以下: <build> <!--最终名称,进入网页时有http://localhost:8080/xxx/--> < ...
- Linux中的定时自动执行功能(at,crontab)
Linux中的定时自动执行功能(at,crontab) 概念 在Linux系统中,提供了两种提前对工作进行安排的方式 at 只执行一次 crontab 周期性重复执行 通过对这两个工具的应用可以让我们 ...
随机推荐
- 【CS231n assignment 2022】Assignment2 - Part 1,全连接网络的初始化以及正反向传播
文章目录 前言 FullyConnectedNets 网络初始化 代码注意事项 1. W 的尺寸怎么知道? 2. np.random.norml() 3. batchnorm loss(self, X ...
- 实现一个CRDT工具库——ORSet
ORSet 这段代码实现了OR-Set,是一种基于版本向量的CRDT,用于实现集合的合并.OR-Set由两个集合add和remove组成,add集合存储添加的元素,remove集合存储删除的元素.每个 ...
- Unity C# IEnumrator 与 async 有的区别
前言 IEnumerator 和 async 是在 Unity 和 C# 中处理异步编程的两种不同方法.它们各自有不同的使用场景和优缺点. IEnumerator IEnumerator 是 C# 中 ...
- 第三章3.3 selenium基础
seleniumIDE:是一款可以实现录制回放的操作:存在可视化窗口进行录制回放操作:它属于firefox(chrome)浏览器的插件;安装方式:两种 : 1.下载安装包离线安装2.在线安装 注意:不 ...
- easy-excel读取远程地址获得文件进行上传
背景 作为一个快五年的程序员,一直以来还没有自己维护过自己的技术栈,最近也是有时间,所以也是下定决心,从头开始,一步一步的夯基础.最近在系统化的学习easy-excel,今天遇到了一个问题,特意记录一 ...
- python医学病理图片svs装换
SVS文件是什么? 最开始拿到SVS文件一脸懵逼的,这货长这样(在windows下可以用Aperio ImageScope这个开源软件打开): 我现在接触的这种图片的大小一般在60M-1.5G之间,可 ...
- [大数据]sqoop安装与运用
1 文由 项目使用场景:OLTP Oracle 数据导入到 OLAP HIVE 2 Sqoop简述 Apache Sqoop(TM) 是一款开源的ETL工具,设计用于在 Apache Hadoop和结 ...
- 使用“纯”Servlet做一个单表的CRUD操作
使用"纯"Servlet做一个单表的CRUD操作 每博一文案 庄子说:"独往独来,是谓独有.独有之人,是谓至贵".热闹是别人的狂欢,而孤独是自己的自由. 相聚总 ...
- USART串口_第三课
串口发送与接收 1.阻塞式发送 1.1.练习receive() 和Transmit() 测试1:测试接收发送函数 receive() 和 Transmit() 在main()中写入测试代码:将stm3 ...
- 随机指标KDJ
kdj是循环指标,它的金叉与死叉可以指导买入或卖出,要根据周线(是否为多方市场).日线(是否存在金叉).小时线(金叉定位)来买入,要根据周线(是否为多方市场).日线(是否存在死叉).小时线(死叉定位) ...