写在前面:公司项目初期,环境一切从始。因此,项目的发布环境需要自己搭建。就动手搭建了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. Hearbeat 介绍

    Hearbeat 介绍 Linux-HA的全称是High-Availability Linux,它是一个开源项目,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(reli ...

  2. 函数进阶之结合tornado

    一.本篇博文内容 .协程函数 .面向过程编程 .递归和二分法 二.协程函数 协程函数:就是使用了yield表达式形式的生成器 首先函数的传参有几种? 三种: 1.实参形参传参 2.闭包的形式传参 3. ...

  3. RHEL 7 安装 ngnix

    安装ngnix yum install -y make apr* autoconf automake curl curl-devel gcc gcc-c++ gtk+-devel zlib-devel ...

  4. 使用 grep 查找所有包含指定文本的文件

    目标:本文提供一些关于如何搜索出指定目录或整个文件系统中那些包含指定单词或字符串的文件. 难度:容易 约定: # - 需要使用 root 权限来执行指定命令,可以直接使用 root 用户来执行也可以使 ...

  5. tp3.2关联模型 BELONGS_TO

    <?php namespace Home\Model; use Think\Model\RelationModel; class AttenModel extends RelationModel ...

  6. JS,Jquery获取屏幕的宽度和高度

    Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...

  7. UVA 12716 GCD XOR (异或)

    题意:求出[1,n]中满足gcd(a,b)=a xor b,且1<=a<=b<=n的对数 题解:首先a xor b = c,则a xor c = b,而b是a的约数,则可以使用素数筛 ...

  8. JavaWeb -- http-equiv=refresh跳转的时候出现Session 丢失, 解决办法。。

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. QT 带有菜单项的ToolButton

    QToolBar *pToolBar = new QToolBar; QToolButton *pMenuBtn = new QToolButton; pMenuBtn->setText(tr( ...

  10. python之算法LOB三人组

    一.冒泡排序 a.冒泡排序----优化 如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结算法 import random from timewrap import * @cal_ti ...