写在前面:公司项目初期,环境一切从始。因此,项目的发布环境需要自己搭建。就动手搭建了jenkins,在此把个人的搭建过程以及搭建中碰到的问题一起总结一下。

1. 准备环境。

  首先,需要jdk是必须要安装好的。本人使用的linux是centos,直接使用yum安装。

  先找到合适的版本:

yum search java | grep jdk

  然后运行安装:

yum install 合适版本全称

  安装maven(看个人使用的项目构建工具自行选择)

yum install maven

  安装git(看个人项目管理工具自行选择)

yum install git

2. 安装jenkins

  前期准备工作结束后,就可以安装jenkins了。安装jenkins其实非常简单。首先下载jenkins的安装包。传送门:https://jenkins.io/download/ 。 按照自己的系统选择下载。

  centos的下载后,是一个war包。选择合适路径存放并启动即可。本人放到 ~/jenkins/下。然后启动:

java -jar jenkins.war --httpPort=8096

   其中参数httpPort是用来指定jenkins的访问端口。启动后,输入http://localhost:8096,然后按照指导安装即可。其中,插件的选择,建议按照自选,选择自己需要的插件安装。然后就等待插件安装,安装可能因为网络等原因,个别插件安装失败,不要着急,直接选择重试即可,就会将失败的重新安装。如果不行,try one more time! 至此,jenkins就安装成功了。

3. 关于插件

  个人用到几个麻烦点的插件,在此说明一下。

3.1 Publish over SSH

  如果你部署的项目跟jenkins不在同一台机器上,那么你会用到这个插件的。该插件就是通过ssh将打包好的文件发布到远程服务器上,并执行命令。该插件的详解以及使用方法官方文档比较详细,传送门:https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin 。

  在这里说一下个人碰到的问题。图文并茂形式:

3.2 Role-based Authorization Strategy

  如果团队使用jenkins,那你肯定需要做权限管理的。不同项目组的人员只能编辑、构建不同项目组的项目。这个插件就是这个功能。

  首先,安装该插件。然后想要使用,需要先在全局安全配置中选择安全策略:

  按如下图选择:

  选择完之后,系统管理下,就会多出如下图的选项:

  进入后,如下释义:

  其中内部配置不再多少,只说一点,角色管理:

  project roles是要配置的项目角色,角色新增时,可以按照正则表达式模糊匹配项目。如图,个人比较喜欢该种匹配模式:.*(?i)xxx.* 。释义: .* 为任意个字符,(?i)为后边的字符忽略大小写。这样就可以按项目名特点,分组配置角色。具体配置可看官方文档:https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Plugin

4. 其他

  1. jenkins执行完后,会杀死该build id启动的进程。因此,如果不想启动脚本被干掉,可以再shell中将build id给改掉,这样jenkins就找不到了,嘿嘿。。。

BUILD_ID=DONTKILLME

  2. jenkins启动后,有一些jenkins的环境变量可以使用。比较常用的有${WORKSPACE}、${JOB_NAME}等。具体list可参考:

后记:至此,jenkins的安装以及使用注意点基本说完了,当然,注意事项只是个人使用中的注意点。如果有其他的具体傻瓜式安装步骤等,可自行google,教程还是很多很清楚的。

先写这些,如有问题可邮件沟通:fusang129@126.com。

linux环境下搭建jenkins实现自动部署的更多相关文章

  1. linux环境下搭建Jenkins持续集成(Jenkins+git+shell+maven+tomact)

    准备环境 jenkins.war包 ,jdk1.8  ,tomact , maven,git 1.Jenkins  war包,下载地址https://jenkins.io/zh/download/  ...

  2. 在Linux 环境下搭建 JDK 和 Tomcat

      在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html   [JDK安装] 1.首先下载 ...

  3. ​Linux环境下搭建禅道管理工具-包含软件资源

    ​Linux环境下搭建禅道管理工具 1:百度云盘下载: 禅道--链接: https://pan.baidu.com/s/1Stu7nOZVIPO5TnpJWjWtiQ 提取码:dnik CentOs操 ...

  4. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  5. Linux环境下搭建Tomcat+mysql+jdk

    Linux环境 1.下载并安装一个VMware workstation, 这个是虚拟机的平台(自行度娘下载~),虚拟机是在后面要在里面搭建Linux系统. 2.下载一个centos安装包,linux版 ...

  6. linux环境下搭建环境发布web项目

    在公司真是学习了一下项目环境在linux下搭建和发布的过程,这是每个程序员都应该掌握的一个技能,将整理下为以后温习用,也乐于和为掌握这些技能的猿分享: 这里主要分为5部分:1.安装jdk,并配置环境变 ...

  7. 在Linux环境下搭建Tomcat+mysql+jdk环境

    按照下面的步骤一步一步来搭建tomcat+jdk+mysql环境.   [Linux环境]------我搭建的是64位centos版本的linux系统 1.下载并安装一个VMware workstat ...

  8. linux环境下搭建MySQL

    linux下搭建mysql的方式很多,网上也详解了很多种搭建方式,有直接yum的.有rpm的..总之,“坑”是层出不穷,有相关文件依赖性.权限.GPG keys等等. 本人也在今天搭建了一下.是出“坑 ...

  9. Linux环境下搭建禅道

    如何在Linux下搭建禅道 查看Linux版本信息 # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 禅道官网下载Linux ...

随机推荐

  1. 学习C#之旅 冒泡排序,选择排序,插入排序,希尔排序[资料收集]

    关于冒泡排序,选择排序,插入排序,希尔排序[资料收集]  以下资料来源与网络 冒泡排序:从后到前(或者从前到后)相邻的两个两两进行比较,不满足要求就位置进行交换,一轮下来选择出一个最小(或最大)的放到 ...

  2. String和StringBuilder、StringBuffer

    Java平台提供了两种类型的字符串:String和StringBuffer/StringBuilder String 只读字符串,这里的只读并不是指String类型变量无法被修改,而是指String类 ...

  3. iOS 学习之 UITabBarController

    - (IBAction)btnClick:(id)sender { UITabBarController *tabBarCtrl = [[[UITabBarController alloc] init ...

  4. Yii技巧大全(摘录)

    Yii技巧大全(摘录) db组件 'schemaCachingDuration'=>3600, 为什么不起做用? 需要开缓存 如何在页面下边显示sql的查询时间 在log组件的routes中加入 ...

  5. 树 List Leaves 【用数组模拟了树状结构建树+搜索叶子节点+按照特殊规律输出每个叶子节点】

    Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. I ...

  6. jprofile查看hprof文件[转]

    用jprofile打开hprof文件,查看内存泄露情况,有几个常用的功能说明一下: 工具下载:到官网下载jprofile7.0.1 64位的.再申请一个注册号,注册号的申请好像是一个邮件只能用一次. ...

  7. 剑指Offer——字符串的排序

    Question 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描 ...

  8. wareshark网络协议分析之DHCP

    声明:本文关于DHCP协议介绍部分摘自百度百科 一.DHCP协议介绍: DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用 ...

  9. js抽象工厂模式

    抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 抽象工厂允许客户使用抽象的接口来创建一组相关产品,而不需要知道或关心实际生产出的具体产品是什么.这样客户就可以从具体 ...

  10. JQuery调用iframe子页面函数/对象的方法例子

    父页面有个ID为mainfrm.name为Iframe1的iframe,iframe连接b.html,该页面有个函数test 在父页面调用b.html的test方法为: $("#mainfr ...