大家好,又见面了,我是你们的朋友全栈君。
Jenkins 安装教程
Jenkins 安装教程
说明
- 安装版本:jenkins-2.149-1.1
- 参考文档: Jenkins Wiki 文档。
- 安装环境:
- 阿里云服务器 ECS
- 系统类型: CentOS 7.4
开始安装 Jenkins
- 安装步骤:
-
准备工作。需要为 Jenkins 安装一个 Java 运行环境。根据官网 Wiki 文档描述,由于 license 的原因, 需要安装 OpenJdk。
- 查看可安装版本:
yum search openjdk
- 安装 OpenJdk 1.8
yum install java-1.8.0-openjdk
- 查看可安装版本:
通过命令安装 Jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key //如果已经有 key 存在,请忽略。具体见官方 wiki sudo yum install jenkins
-
启动/关闭 Jenkins
sudo service jenkins start/stop/restart //显然,最后的参数分别对应启动、关闭、重启操作 sudo chkconfig jenkins on
运行启动命令。此时 Jenkins 默认运行在 8080 端口:
-
上面的操作有什么作用?
- Jenkins 将在开机时作为守护进程启动。查看 /etc/init.d/jenkins 可获得更加详细的信息。
- 创建了一个叫做 jenkins 的用户来运行这个服务(也就是 Jenkins 服务)。如果您通过配置文件将其改为另一个用户,您必须更改这些目录的拥有者:/var/log/jenkins ,/var/lib/jenkins 和 /var/cache/jenkins
- 日志文件位于 /var/log/jenkins/jenkins.log,如果你在使用 Jenkins 时遇到问题可以查看它。
- /etc/sysconfig/jenkins 会捕获 Jenkins 启动的配置参数。
- 默认情况下,Jenkins 监听 8080 端口。可以在浏览器上访问这个端口进行配置。注意,如果从其他电脑访问,需要配置内置的防火墙开启相应端口(默认情况下,要开启 8080 端口)
- 一个 Jenkins 仓库会到添加到 /etc/yum.repos.d/jenkins.repo
-
配置防火墙。
-
因为博主需要通过远程访问,所以需要配置防火墙以开启 8080 端口。(以下这些命令不适用于比较旧的 CentOS 版本,所以有些小伙伴可能需要另外找其他教程):
firewall-cmd --permanent --new-service=jenkins firewall-cmd --permanent --service=jenkins --set-short="Jenkins Service Ports" firewall-cmd --permanent --service=jenkins --set-description="Jenkins service firewalld port exceptions" firewall-cmd --permanent --service=jenkins --add-port=8080/tcp firewall-cmd --permanent --add-service=jenkins firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --reload
-
如果上面配置没有生效,可以尝试:
[root@ecs-for-wecherish ~]# firewall-cmd --zone=public --list-interfaces [root@ecs-for-wecherish ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.52.17 netmask 255.255.240.0 broadcast 172.18.63.255 ether 00:16:3e:08:ff:8a txqueuelen 1000 (Ethernet) RX packets 119046 bytes 145145636 (138.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 38251 bytes 3882278 (3.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1 (Local Loopback) RX packets 10 bytes 1906 (1.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 10 bytes 1906 (1.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@ecs-for-wecherish ~]# firewall-cmd --zone=public --add-interface=eth0 --permanent success [root@ecs-for-wecherish ~]# firewall-cmd --zone=public --list-interfaces [root@ecs-for-wecherish ~]# firewall-cmd --reload success [root@ecs-for-wecherish ~]# firewall-cmd --zone=public --list-interfaces eth0 [root@ecs-for-wecherish ~]# firewall-cmd --get-active-zones public interfaces: eth0 [root@ecs-for-wecherish ~]#
-
-
如果是新创建的阿里云服务器,可能会碰到这样的情况:
-
防火墙状态处于未激活状态:
[root@ecs-for-wecherish ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@ecs-for-wecherish ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) [root@ecs-for-wecherish ~]#
-
这时需要手动开启防火墙,然后才能回到上一步进行配置。
[root@ecs-for-wecherish ~]# systemctl start firewalld [root@ecs-for-wecherish ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-30 10:04:38 CST; 14s ago Docs: man:firewalld(1) Main PID: 2994 (firewalld) CGroup: /system.slice/firewalld.service └─2994 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid Oct 30 10:04:37 ecs-for-wecherish systemd[1]: Starting firewalld - dynamic f.... Oct 30 10:04:38 ecs-for-wecherish systemd[1]: Started firewalld - dynamic fi.... Oct 30 10:04:38 ecs-for-wecherish firewalld[2994]: WARNING: ICMP type 'beyond... Oct 30 10:04:38 ecs-for-wecherish firewalld[2994]: WARNING: beyond-scope: INV... Oct 30 10:04:38 ecs-for-wecherish firewalld[2994]: WARNING: ICMP type 'failed... Oct 30 10:04:38 ecs-for-wecherish firewalld[2994]: WARNING: failed-policy: IN... Oct 30 10:04:38 ecs-for-wecherish firewalld[2994]: WARNING: ICMP type 'reject... Oct 30 10:04:38 ecs-for-wecherish firewalld[2994]: WARNING: reject-route: INV... Hint: Some lines were ellipsized, use -l to show in full. [root@ecs-for-wecherish ~]# *
-
-
如果防火墙的配置依然没有生效。需要咨询一下云服务器商家。如果是阿里云服务器,可能是缺少安全组的配置:
-
到这里,Jenkins 已经成功的安装在我们的云服务器上了。Jenkins 运行在 8080 端口,而且在开机的时候,Jenkins 会作为守护进程启动。接下来,访问云服务的 8080 端口,对 Jenkins 进行初始化配置:
- 输入 /var/lib/jenkins/secrets/initialAdminPassword 中保存的密码,然后点击 continue ,根据设置向导提示进行操作,当需要选择时,选择默认选项即可:
- 最后会进入 Jenkins 首页, 安装工作圆满完成:
- 输入 /var/lib/jenkins/secrets/initialAdminPassword 中保存的密码,然后点击 continue ,根据设置向导提示进行操作,当需要选择时,选择默认选项即可:
-
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146504.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...