前面是在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. WebSocket实现数据库更新前台实时显示

    通过一个小实例来实现数据库更新后,推送消息给前台,让前台进行相应操作. 需求 数据库更新之后服务器推送消息给前台,让前台做操作.(数据库的数据不是由服务器写入的) 实现的话说到底都是用轮询,因为数据库 ...

  2. ​综述 | SLAM回环检测方法

    本文作者任旭倩,公众号:计算机视觉life成员,由于格式原因,公式显示可能出问题,建议阅读原文链接:综述 | SLAM回环检测方法 在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿 ...

  3. Docker学习总结(四)--应用部署

    MySQL部署 1) 拉取 mysql 镜像 docker pull centos/mysql:5.7 2) 创建容器 docker run -di --name=mysql -p 33306:330 ...

  4. Redis学习总结(六)--Redis集群伸缩

    我们在上一章讲了如何创建集群,今天我们来实现下集群的伸缩. 添加节点 操作流程 1.启动节点 2.将节点加入到集群中 3.将数据槽从原来的节点迁移部分到新节点上 实践 1)准备两个新节点并启动 [ro ...

  5. IDEA实用教程(一)

    IDEA实用教程 一. IDEA简介 简介 IDEA 全称IntelliJ IDEA,是java语言开发的集成环境. IDEA是JetBrains公司的产品. JetBrains官网 : https: ...

  6. Gym - 101252H

    题意略. 思路:二分.注意当利率高且m比较小的时候,每个月的偿还可能会大于本金,所以我们二分的右边界应该要设为2 * 本金. 详见代码: #include<bits/stdc++.h> # ...

  7. CSU1784

    题意略. 思路:为了更好地求出一段连续数字的异或和,我们可以用前缀异或和来维护,现在我们只需要考虑每一个在数组中的数字向前异或,且在指定范围内, 异或值为全1的个数有多少个.算出每一个位子能做出的贡献 ...

  8. spring-cloud-kubernetes官方demo运行实战

    关于spring-cloud-kubernetes spring-cloud-kubernetes是springcloud官方推出的开源项目,用于将Spring Cloud和Spring Boot应用 ...

  9. 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

    一.背景 笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘.工具挖掘.代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存 ...

  10. codeforce #505D - Recovering BST 区间DP

    1025D 题意: 有一个递增序列,问能不能构建出一颗每条边的端点值都不互质的二叉排序树. 思路: 区间DP,但是和常见的区间DP不一样, 这里dp[i][j]表示的是区间[i,j]能否以i为根建立一 ...