前面是在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. JVM(十三):后端编译优化

    JVM(十三):后端编译优化 在 JVM(一):源文件的转变 中我们介绍了 Java 中的前端优化,即将 Java 源代码转换为字节码文件.在本文中,我们将介绍字节码文件如何转换为本地机器码,并如何对 ...

  2. python程序中使用MySQL数据库

    目录 python程序中使用MySQL数据库 1 pymysql连接数据库 2 sql 注入 3 增删改查操作 4 pymysql使用总结 python程序中使用MySQL数据库 1.python中使 ...

  3. HDU 6363

    题意略. 思路: 这里有两个结论需要注意: 1.gcd(a ^ x - 1,a ^ y - 1) = a ^ gcd(x,y) - 1 2.gcd(fib[x],fib[y]) = fib[gcd(x ...

  4. MSIL实用指南-比较运算

    数值的比较就是大于.小于.等于.大于等于.小于等于.不等于,它们的运算结果都是布尔值.大于.小于.等于有直接对应的指令,分别是Cgt.Clt.Ceq.大于等于.小于等于.不等于没有直接对应的指令,它的 ...

  5. VS2019没有.net core3.0模板的解决办法

    今天装好了,net core sdk 3.0之后,打开Visual Studio2019后,新建项目时发现尽然没有.net core3.0的模板. 搜了下其他博主的文章,按照文章里做了如下设置:   ...

  6. JAVA 泛型中的通配符 T,E,K,V,?

    前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据 ...

  7. 微信小程序室内地图导航开发-微信小程序JS加载esmap地图

    一.在微信小程序里显示室内三维地图 需要满足的两个条件 调用ESMap室内地图需要用到小程序web-view组件,想要通过 web-view 调用ESMap室内地图需要满足以下 2 个条件: 1. 小 ...

  8. java Spring-Boot框架学习视频-百度云盘

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lk142500/article/deta ...

  9. 背包形动态规划 fjutoj1380 Piggy-Bank

    Piggy-Bank TimeLimit: 2000/1000 MS (Java/Others)  MemoryLimit: 65536/32768 K (Java/Others) 64-bit in ...

  10. 洛谷p2015二叉苹果树&yzoj1856多叉苹果树题解

    二叉 多叉 有一棵苹果树,如果树枝有分叉,可以是分多叉,分叉数k>=0(就是说儿子的结点数大于等于0)这棵树共有N个结点(叶子点或者树枝分叉点),编号为1~N,树根编号一定是1.我们用一根树枝两 ...