jenkins-安装使用

jenkins

  • 最低配置:不少于256M内存,不低于1G磁盘,JDK版本>=8
  • 安装JDK
rpm -ivh jdk-8u151-linux-x64.rpm 
  • 配置环境变量
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile.d/java.sh
  • 添加jenkins用户(非必需)
useradd jenkins
  • 安装jenkins
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum -y install jenkins
  • 启动jenkins,查看初始密码
/etc/init.d/jenkins start
cat /var/lib/jenkins/secrets/initialAdminPassword 
  • 访问web(做的Host解析)
http://jenkins.wangyao.org:8080
  • jenkins服务器端目录
jenkins配置文件:/etc/sysconfig/jenkins
jenkins主目录:/var/lib/jenkins/ 

web端配置

  • 解锁jenkins


    解锁jenkins.png
  • 安装自定义插件


    安装自定义插件.png
  • 创建管理账户


    创建管理员.png

使用jenkins发布PHP代码

  • 安装插件
"系统管理"-->"管理插件"-->"已安装";检查是否有"Git plugin"和"Publish Over ssh",
如果没有,则需要点击"可选插件",找到并安装,之后重启jenkins
  • 配置jenkins用户的私钥(避免使用root账户)
点击"系统管理"-->"系统设置"-->"Publish Over SSH"-->"Path to key(私钥的路径)"或者"Key(私钥的内容)";
把jenkins用户的公钥传到需要部署服务器的账户下建议jenkins用户并赋予相应的权限;
点击"增加",SSH Server,"Name(远端服务器的标识)"-->"Hostname(域名/IP)"-->"Username(用于连接的用户最好不用root,建议在部署服务器也创建一个jenkins用户并且给相应的权限专门用于部署应用)"-->"Remote Directory(必须填写/)"
如果多台需要部署的服务器,继续点击"增加",重复以上操作;
点击"保存";
  • 创建任务,部署PHP代码
"新建任务"-->"Test_php(任务名称,自定义)"-->"构建一个自由风格的软件项目"-->"确定";
jenkins必须可以从代码仓库获取到代码;
"源码管理"-->"Git"-->"Repository URL(公共的仓库地址)"-->"Credentials"-->"Add(添加私钥)"-->"Kind"-->"SSH Username with private key"-->"Username(git)"-->"Private Key"-->"Enter directly(jenkins用户的私钥)"-->"Add(完成之后)"-->"Credentials(选择git用户,应该就不会报错了)"-->"Branches to build(选择代码仓库的分支)";
"构建"-->"Send files or execute commands over ssh"-->"Transfers"-->"Source files(代码类型)"-->"**/**"-->"Remote directory(部署路径)"-->"  Exec command(部署完成后需要执行的命令)"-->"保存";
"立即构建"(jenkins用户必须有一定的权限)

  • jenkins邮件设置
"系统管理"-->"系统设置"-->"Jenkins Location"-->"系统管理员邮箱地址(发邮件的邮件地址需要和这个一致)";
"邮件通知"-->"SMTP服务器"-->"高级"-->"使用smtp认证"-->"用户名和密码"-->"smtp端口为25"-->"通过发送测试邮件测试配置"-->"保存";
到已经构建过的job里去配置接受邮件地址,"构建后操作"-->"E-mail Notification"-->"Recipients(收件人)";
  • jenkins邮件-插件email-ext
插件名字Email Extension Plugin,默认已经安装
"系统管理"-->"系统设置"-->"Extended E-mail Notification"
"SMTP Server"-->"高级"-->"Use SMTP Authentication"-->"用户名/密码/端口"-->"保存";
"构建任务中配置"-->"构建后操作"-->"增加构建后操作步骤"-->"Editable Email Notification"-->"Project Recipient list(收件人,可以在默认内容后面增加额外的收件人邮箱,用英文逗号分隔)"-->"Advanced settings"-->"Triggers(增加发邮件的条件)"-->"保存";
  • 部署JAVA代码
java的项目是需要编译和打包的;
编译和打包用maven完成,所以需要安装maven插件
下载地址 https://maven.apache.org/download.cgi
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
 tar xf apache-maven-3.5.2-bin.tar.gz
 mv apache-maven-3.5.2 /usr/local/
 ln -s /usr/local/apache-maven-3.5.2/ /usr/local/maven
 /usr/local/maven/bin/mvn --version
jenkins配置-->"系统管理"-->"全局工具配置"-->"Maven Configuration"-->"Settings file in filesystem"-->"File Path(/usr/local/maven/conf/settings.xml)";
"Global settings file on filesysteng"-->"File Path(同上)";
"Maven"-->"新增maven(取消自动安装)"-->"Name(自定义)"-->"MAVEN_HOME(/usr/local/maven)"-->"保存";
"系统管理"-->"管理插件",检查是否已经安装Maven integration plugin和Deploy to container Plugin,若没有安装则需要安装这两个插件(安装完成后重启jenkins服务);

  • 新建java项目
"新建任务"-->"任务名称自定义(Test-java)"-->"构建一个maven项目"-->"确定";
"源码管理(参考部署PHP代码的操作)";
"Build"-->"Root POM(pom.xml)"-->"Goals and options(clean install -D maven.test.skip=true)";
Tomcat服务器配置:
vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="admin" />
<role rolename="admin-gui" />
<role rolename="admin-script" />
<role rolename="manager" />
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="manager-jmx" />
<role rolename="manager-status" />
<user name="admin" password="admin123" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
重启tomcat

"构建后操作"-->"增加构建后操作步骤"-->"Deploy war/ear to a container"-->"WAR/EAR files(**/*.war)"-->"Contex path(留空)"-->"Containers"-->"Add container(Tomcat 8.x)"-->"Credentials"-->"Add"-->"Username(tomcat配置的管理账户admin)"-->"Password(admin123)"-->"Tomcat URL(tomcat服务器的地址)"-->"保存";


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容