前面是在windows上搭建jenkins环境,最近有同事要我帮忙在linux上搭建一套,因此在此记录下过程。

因为jenkins.msi只能在windows上运行安装,因此在linux上安装jenkins有所不同。

下载地址:https://jenkins.io/download/

1.安装java环境,jdk7或者jdk8

2.安装jenkins:

官网上一种方法是直接命令行下载安装见: https://pkg.jenkins.io/redhat-stable/

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins

但是我尝试之后到第三步就报错下载失败,

Error downloading packages:
jenkins-2.121.-1.1.noarch: [Errno ] No more mirrors to try.

因此放弃这种方式,直接下载rpm包:jenkins-2.121.3-1.1.noarch.rpm

  • 执行命令安装:
sudo rpm -ih jenkins-2.121.-1.1.noarch.rpm 
[root@localhost soft]# ls
jenkins-2.121.-1.1.noarch.rpm project
[root@localhost soft]# sudo rpm -ih jenkins-2.121.-1.1.noarch.rpm
################################# [%]
正在升级/安装...
################################# [%]
[root@localhost soft]#
  • 查看jenkins被安装路径的2种方法:
 whereis jenkins
rpm -ql jenkins
[root@localhost soft]# whereis jenkins
jenkins: /usr/lib/jenkins
[root@localhost soft]#
  •  启动jenkins:
sudo service jenkins start
#重启
service jenkins restart
[root@localhost jenkins]# sudo service jenkins start
Starting jenkins (via systemctl): [ 确定 ]
[root@localhost jenkins]# netstat -nlp | grep
tcp6 ::: :::* LISTEN /java
[root@localhost jenkins]#

这里需要注意的是,jenkins默认端口为8080,我之前安装的tomocat也是,如果8080已经被占用,执行这个命令不会报错,但是服务其实没有启动成功,需要先更改端口

这里我将端口改为了6666

这时发现服务启动了,但是在windows上无法访问jenkins,查阅资料发现有可能是防火墙造成的,telnet xx.xx.xx.xx 6666发现失败

这个时候再linux上查看防火墙是否开启状态:参考 https://www.cnblogs.com/CUI-S/p/9191402.html

 systemctl status firewalld.service
[root@localhost ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.
[root@localhost ~]# cat /proc/version
Linux version 3.10.-.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8. (Red Hat 4.8.-) (GCC) ) # SMP Tue Nov :: UTC
[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 四 -- :: CST; weeks days ago
Docs: man:firewalld()
Main PID: (firewalld)
CGroup: /system.slice/firewalld.service
└─ /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid 7月 :: localhost.localdomain systemd[]: Starting firewalld - dynamic firewall daemon...
7月 :: localhost.localdomain systemd[]: Started firewalld - dynamic firewall daemon.
[root@localhost ~]#

发现防火墙开启着,这时查看防火墙规则,发现除了3306,其他都没有配置

vi /etc/sysconfig/iptables
[root@localhost ~]# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport  -j ACCEPT
~
~

可以参考链接中的方法二新增入站规则,我这边因为对环境没要求,选择直接关闭防火墙

systemctl stop firewalld.service 

此时发现部署在linux上的其他服务比如tomcat可以访问了,但是jenkins还是不可以!

#如果系统没安装tcpdump则需要先安装:https://www.cnblogs.com/cipc/articles/2428282.html
yum list tcpdump
yum install tcpdump
tcpdump -nni eth0 port

使用这个命令抓包,发现用谷歌浏览器访问jenkins,抓取不到任何东西,因此怀疑是浏览器的问题,试了下ie果然可以,又试了下火狐,原来是端口的问题。换了个端口,所有浏览器都可以正常访问了

3.第一次访问jenkins:

  • 安装插件:

第一次访问,界面出现【 该jenkins实例似乎已经离线 】查阅资料,发现有两种解决方案:

(我个人两种都尝试过。第一种成功了,但是之后安装推荐的插件还是全部失败。找运维帮忙看过,可能是网络的问题,因此我选择了继续下一步。插件后面在按需安装)

#下面2种页面操作最终修改的其实是这个文件下的url,该url就是下载插件的镜像
/var/lib/jenkins/hudson.model.UpdateCenter.xml
#可供选择的插件镜像源:http://mirrors.jenkins-ci.org/status.html

方案一:

#浏览器输入这个链接ip port为jenkins的
http://ip:port/pluginManager/advanced
#页面最底下有个【升级站点】,把链接改为如下之后提交,重启jenkins
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

方案二:

#浏览器输入这个链接ip port为jenkins的
http://ip:port/pluginManager/advanced
#页面最底下有个【升级站点】,把链接中的https改成http的就好http://updates.jenkins.io/update-center.json。 重启jenkins
  • 新建第一个用户

windows上exe和msi 异同

1)点击Setup.exe文件来实现安装:

  Setup.exe是一个安装引导程序。它是安装工程通过MSBuild创建的,其中包含了一个XML文件,定义了应用程序所需要的系统必备安装包信息。Setup.exe程序会检查这些系统必备安装包是否需要被下载和安装,如果需要,它就会先安装那些系统必备程序。当我们运行它的时候,它会读取setup.ini来确定安装所需要的配置并开始安装流程。

  如果这个setup.exe是在Visual Studio 2005中生成的,那么用户就必须有管理员权限才能运行它。我们可以看见在setup.exe的图标上有一个防护盾,这就意味着这个程序只有管理员才能运行它。如果这个setup.exe是在Visual Studio 2008中生成的,那么用户不一定需要有管理员的权限就能执行它,当有一些特定操作需要管理员的权限时,系统会显示UAC对话框要求提升权限。这类Setup.exe的图标上不会显示防护盾。

  2)点击setup.msi来进行安装。

  Setup.msi是一个Windows Installer包。和setup.exe不一样,直接运行MSI安装包就不会自动安装自定义系统必备。它只会安装主应用程序。在安装项目的属性对话框中修改输出文件的名字,我们可以自定义MSI包的文件名。当我们“运行”它的时候,其实是Windows Installer在执行MSI包定义的各项操作。因此我们需要安装Windows Installer的正确版本才能运行setup.msi。我们也可以使用msiexec命令去安装setup.msi文件。

jenkins自动化部署项目1--下载安装启动(linux)的更多相关文章

  1. jenkins自动化部署项目1--下载安装启动(windows)

    年初以来断断续续研究jenkins自动化部署项目,前些天终于搞定了,接下来一点点把做的时候遇到的坑以及自己的心得写下来,方便以后复用. 我的jenkins服务是是部署在windows上的 一.下载安装 ...

  2. jenkins自动化部署项目2 --插件的选择和安装

    一.安装插件: 我选择的安装建议的插件,也可以自定义安装自己想要的插件,在不敢保证自己确定要用的插件是完全正确的情况下建议按推荐安装 我理解的jenkins+tomcat完成自动化部署maven项目需 ...

  3. 【转】jenkins自动化部署项目7 -- 新建job(将服务代码部署在windows上)

    关于构建结束后jenkins会kill所有衍生子进程的官方解决方案:https://wiki.jenkins.io/display/JENKINS/Spawning+processes+from+bu ...

  4. jenkins自动化部署项目7 -- 新建job(将服务代码部署在windows上)

    关于构建结束后jenkins会kill所有衍生子进程的官方解决方案:https://wiki.jenkins.io/display/JENKINS/Spawning+processes+from+bu ...

  5. jenkins自动化部署项目4 -- 安装和配置jdk、maven、git

    Jenkins提供了自动安装jdk,maven,git的功能,在[系统设置-全局工具配置]里,但是我自动安装没反应,因此我是先手工安装和配置它们的环境变量然后再在[系统设置-全局工具配置]里配置: 1 ...

  6. jenkins自动化部署项目8 -- 新建job(服务代码部署在linux上)

    jenkins(windows) ----> 应用服务器(linux): 1.后台java服务: 与部署在windows上不同的是,这里我选择了在[构建后操作]中使用ssh向远程linux服务器 ...

  7. jenkins自动化部署项目5 -- 系统管理-系统设置ssh配置

    [系统管理]-[系统设置] 如果应用服务(前端后台)要部署在linux服务器上,我选择的是用ssh 为了jenkins登录远程登录linux服务器可以免密登录,先配置公钥和私钥: 我是在windows ...

  8. jenkins自动化部署项目3 --设置用户

    我直接设置的admin ,jenkins可以新建多个用户,并赋予不同的权限(TODO) 等后续需要严格规范操作人的时候再补充

  9. jenkins自动化部署项目9 --定时构建

    举几个例子:每隔5分钟构建一次H/5 * * * * 每两小时构建一次H H/2 * * * 每天中午12点定时构建一次H 12 * * * 每天下午18点定时构建一次H 18 * * * 在每个小时 ...

随机推荐

  1. NMS的python实现

    https://blog.csdn.net/a1103688841/article/details/89711120

  2. python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)

    1. 场景描述 一直做java,因项目原因,需要封装一些经典的算法到平台上去,就一边学习python,一边网上寻找经典算法代码,今天介绍下经典的K-means聚类算法,算法原理就不介绍了,只从代码层面 ...

  3. python学习——字典和集合

    一.字典 1)字典介绍 字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字.字符串.元组,这种不可变的结构类型也称之为映射.字典类型是Python中唯一內建的映射类型. 1)字典操作 &qu ...

  4. 代码解读 | VINS 视觉前端

    本文作者是计算机视觉life公众号成员蔡量力,由于格式问题部分内容显示可能有问题,更好的阅读体验,请查看原文链接:代码解读 | VINS 视觉前端 vins前端概述 在搞清楚VINS前端之前,首先要搞 ...

  5. 利用Spring Boot+zxing,生成二维码还能这么简单

    在网站开发中,经常会遇到要生成二维码的情况,比如要使用微信支付.网页登录等,本文分享一个Spring Boot生成二维码的例子,这里用到了google的zxing工具类. 本文目录 一.二维码简介二. ...

  6. 利用canvas绘制带干扰线的验证码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. C# 生产者与消费者模式

    情景:一个线程不断获取数据,另一个线程不断处理这些数据. 常规方法:数据列表加锁,两个线程获取锁,拿到操作权:类似代码如下:(不推荐) static void Main(string[] args) ...

  8. 【Edu49 1027D】 Mouse Hunt DFS 环

    1027D. Mouse Hunt:http://codeforces.com/contest/1027/problem/D 题意: 有n个房间,每个房间放置捕鼠器的费用是不同的,已知老鼠在一个房间x ...

  9. CF934A A Compatible Pair

    A Compatible Pair time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  10. jQuery - 02. 样式表属性操作/类操作、动画、显示隐藏、滑入、淡入、停止动画、节点操作、添加对象、清空节点

    样式表属性操作.css $("div").css({'width':100,'height':100,'background':'red'}); $("div" ...