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 周期性重复执行 通过对这两个工具的应用可以让我们 ...
随机推荐
- DVWA-Brute Force(暴力破解)
暴力破解漏洞,没有对登录框做登录限制,攻击者可以不断的尝试暴力枚举用户名和密码 LOW 审计源码 <?php // 通过GET请求获取Login传参, // isset判断一个变量是否已设置,判 ...
- CentOS /RHEL 系统更新安全补丁的方法
在 Linux 系统上,其中一个最重要的需求就是保持定期更新最新的安全补丁,或者为相应的 Linux 版本更新可用的安全补丁.在这篇文章中,我们将分享如何在 CentOS/RHEL 7/6 版本中设置 ...
- LeetCode 周赛 336,多少人直接 CV?
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 今天早上是 LeetCode 第 336 场周赛,你参加了吗?这场周赛整体质量比较高,但 ...
- Activiti7开发(一)
0.前言 开发背景 项目开发设计审批工作流,企业微信的审批不错,但是下拉列表不支持后期添加,所以只能自己实现,通过gitee查找相关工作流的开源项目,参考有 闲鹿(RuoYi+Activiti6) h ...
- 当基础设施故障后,声网 SD-RTN™ 如何保障 RTE 服务的高可用性
云计算的出现为企业的管理.业务开展.资源整合等带来了极大的便利性,也是数字化建设的核心基建之一,然而局部宕机或者大面积宕机事件对于云厂商来说却也无法避免,全球领先的计算平台也不例外.例如,美国东部时间 ...
- graphviz 简单入门
上一位负责画图的选手 CS Academy 由于不明原因暂时不能继续工作,所以本俱乐部招收了新选手 graphviz. 在 Linux 上,你可以这么下载: sudo apt install grap ...
- 3分钟带你了解Hadoop是什么
Hadoop是一种开源的分布式计算框架,它在Google的MapReduce论文发表后大受欢迎,并被广泛应用.Hadoop框架包括一个分布式文件系统(HDFS),它允许用户以分布式方式存储和管理大量数 ...
- AlphaFold2中的残基刚体表示
技术背景 在前面的这一篇博客中,比较全面的介绍了组成蛋白质的各种氨基酸的三维结构.由于每个氨基酸大小不一,在传统的蛋白质折叠预测的方案中,一般会考虑全原子方案或者是粗粒化方案.对于全原子方案而言,即时 ...
- flask-wtfwkfom使用
我们在使用flask框架来搭建自己的博客,只要是设涉及到表单相关,必然会想起Flask-WTF与WTForms.对于flask初学者来说,比较容易混淆两者.今天想来一一解释两者的用法. Flask-W ...
- [Linux]Linux执行sh脚本时,出现$‘\r‘: command not found(未找到命令)"错误的解决方案[转载]
1 文由 为什么要把这么一个看似很简单的问题,还要以[转载]的方式专门用博客写出来? 主要是在编写crontab的自动化定时脚本的过程中,发现是这个错导致的自动化脚本频繁执行异常时,已经花了好几个小时 ...