Saul's blog Saul's blog
首页
后端
分布式
前端
更多
分类
标签
归档
友情链接
关于
GitHub (opens new window)

Saul.J.Wu

立身之本,不在高低。
首页
后端
分布式
前端
更多
分类
标签
归档
友情链接
关于
GitHub (opens new window)
  • 面试题

  • 博客搭建

  • 部署相关

    • JenKins和GitLab
      • 宝塔
        • Linux防火墙限制IP
    • Linux踩坑记录
    • Yapi搭建
    • docker运行nacos
    • docker开机自启动
    • Ubuntu
    • SpringBoot的Shell发版脚本
    • showdoc
    • 禅道搭建
    • Linux访问不了github
  • 填坑

  • Python

  • 其他

  • 收藏夹

  • 友情链接
  • 更多
  • 部署相关
SaulJWu
2021-06-16

JenKins和GitLab

# 安装vim和ifconig

# ifconfig

yum search ifconig
1

# vim

1、先执行: rpm -qa | grep vim 查看是否有显示下列三行代码(版本号等可能不同,不用在意)
vim-enhanced-7.4.~~~
vim-minimal-7.4.~~~
vim-common-7.4.~~~

2、如果全都没有,则执行: yum -y install vim*
3、如果只是缺了其中的某条,就下载哪条: yum -y install vim-xxxx
1
2
3
4
5
6
7

# gitlab

  1. 安装相关依赖
yum install -y curl policycoreutils-python openssh-server openssh-clients postfix
1
  1. 启动ssh服务&设置为开机自启

systemctl enable sshd && sudo systemctl start sshd

  1. 设置postfix开机自启,并且postfix支持gitlab发信功能

systemctl enable postfix && systemctl start postfix

  1. 开放ssh以及http服务,然后重新加载防火墙列表
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
1
2
3
  1. 安装gitlab
1、下载 10.8.2版本安装包
	https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
	
2、cd /opt/
3、mkdir gitlab
4、cd gitlab/
5、将安装包上传
6、执行命令
	rpm -ivh gitlab-ce-10.8.2-ce.0.el7.x86_64.rpm	
1
2
3
4
5
6
7
8
9
  1. 修改gitlab配置
1、输入 
	vim /etc/gitlab/gitlab.rb
2、修改gitlab 访问地址和端口
	1. 找到 external_url ,将引号里的地址改成 'http://本机IP地址:82'
	2. 找到 nginx['listen_port'],将值改为82(让gitlab默认监听82端口)
1
2
3
4
5
  1. 重载配置及启动gitlab
1、 执行命令
gitlab-ctl reconfigure
gitlab-ctl restart
1
2
3

遇到报错:

Running handlers:
There was an error running gitlab-ctl reconfigure:

execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8] (postgresql::enable line 80) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 ----
STDOUT: The files belonging to this database system will be owned by user "gitlab-psql".
This user must also own the server process.
STDERR: initdb: invalid locale settings; check LANG and LC_* environment variables
---- End output of /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 ----
Ran /opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8 returned 1

1
2
3
4
5
6
7
8
9
10
11

解决:

这是由于系统编码问题造成的,解决方法如下:
export LC_ALL=en_US.UTF-8 
export LANG=en_US.UTF-8 
export LANGUAGE=en_US.UTF-8
执行完上面三个命令之后,最后还需要执行下面这个命令
source ~/.bashrc

最后再执行 gitlab-ctl reconfigure ,过程可能会需要几分钟,耐心等待出现 
gitlab Reconfigured! #即代表执行成功!
#紧接着再执行
gitlab-ctl restart
1
2
3
4
5
6
7
8
9
10
11
  1. 把端口添加到防火墙
1、输入命令
firewall-cmd --zone=public --add-port=82/tcp --permanent
2、重启防火墙
firewall-cmd --reload
1
2
3
4
  1. 如果Gitlab的IP地址已经更换,那么同时也需要更换项目中的IP地址
1、执行指令 cd /var/opt/gitlab/gitlab-rails/etc
2、执行指令 vim gitlab.yml
3、将里面原来的IP地址改成现在的IP地址即可(SSH连接的地址也要记得同时更改)
4、重启服务 gitlab-ctl restart
1
2
3
4

# 更改网络配置

  1. 先备份原来设置
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
PERSISTENT_DHCLIENT="yes"
1
2
3
4
5

# jenkins

# 1、安装 JDK 环境

# 2、获取 jenkins 安装包

1、 mkdir /opt/jenkins
2、 上传安装包
3、 执行命令安装 rpm -ivh jenkins-xxxx(安装包全名)
1
2
3

# 3、修改配置

1、 vim /etc/sysconfig/jenkins
2、 修改内容:
	JENKINS_USER="root"
	JENKINS_PORT="8888"

1
2
3
4
5

# 4、启动jenkins

systemctl start jenkins
1

报错

Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
1

处理方式:

执行指令 systemctl status jenkins.service

显示:

jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2021-06-16 11:24:07 UTC; 6min ago
     Docs: man:systemd-sysv-generator(8)

Jun 16 11:24:07 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...
Jun 16 11:24:07 localhost.localdomain runuser[581]: pam_unix(runuser:session): session opened for user root by (uid=0)
Jun 16 11:24:07 localhost.localdomain jenkins[571]: Starting Jenkins bash: /usr/bin/java: No such file or directory
Jun 16 11:24:07 localhost.localdomain runuser[581]: pam_unix(runuser:session): session closed for user root
Jun 16 11:24:07 localhost.localdomain systemd[1]: jenkins.service: control process exited, code=exited status=1
Jun 16 11:24:07 localhost.localdomain jenkins[571]: [FAILED]
Jun 16 11:24:07 localhost.localdomain systemd[1]: Failed to start LSB: Jenkins Automation Server.
Jun 16 11:24:07 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
Jun 16 11:24:07 localhost.localdomain systemd[1]: jenkins.service failed.
1
2
3
4
5
6
7
8
9
10
11
12
13
14

原因:jenkins 找不到 java 的路径

解决:

1、 vim /etc/init.d/jenkins
2、 找到 candidates="
3、 在引号中填入自己的java路径,如:/usr/local/java/自己的jdk包名/bin/java
4、 执行 systemctl daemon-reload
1
2
3
4

# 安装jenkins插件

# 1、更改插件下载地址

jenkins->Manage jenkins->Manage Plugins,点击Advanced

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

sumbit后,直接在浏览器输入:jenkins地址/restart,重启 jenkins

然后进入linux里,cd /var/lib/jenkins/updates

sed -i 's/http:\/\/updates.jenkins-

ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i

's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
1
2
3
4
5
# 2、下载插件

Jenkins->Manage Jenkins->Manage Plugins,点击Available

# 用户权限管理

# 1、安装Role-based Authorization Strategy 插件
# 2、更改授权策略
  1. jenkins->Manage jenkins->Conigure Global Security

  2. 授权策略选择 Role-Based Strategy

  3. 点击保存

# 3、创建角色及分配权限
  1. jenkins->Manage jenkins->Manage and Assign Roles
  2. 点击 Manage Roles

# 凭证管理

# 1、安装Credentials Binding插件
# 2、

# 安装Git插件和工具

为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及CenOS7上安装Git工具

# jenkins插件直接搜索 Git既是
# CentOS7上安装Git工具:
yum -y install git #安装之前最好搜索一下都有哪些版本的Git
git --version #查看是否安装成功
1
2

# 宝塔

==================================================================
Congratulations! Installed successfully!
==================================================================
外网面板地址: http://218.20.7.51:8888/d3837c4f
内网面板地址: http://192.168.3.12:8888/d3837c4f
username: g3myapx3
password: 86628f7c
If you cannot access the panel,
release the following panel port [8888] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口
==================================================================
Time consumed: 2 Minute!

1
2
3
4
5
6
7
8
9
10
11
12
13

# Linux防火墙限制IP

# iptables防火墙

# 先查看iptables防火墙是否有限制
执行指令 :firewall-cmd --get-active-zones 查看有哪些域是使用的

假设是public域生效,则执行指令 firewall-cmd --zone=public --list-all

如果多个域生效,则执行指令 firewall-cmd --list-all

PS:可以留意一下 ssh服务有没有开放,如果没有得话就需要开放ssh
firewall-cmd --permanent --add-service=ssh
1
2
3
4
5
6
7
8
# rich rules配置IP白名单
# 基本选项
accpet允许,reject禁止
--add-rich-rule:新增
--remove-rich-rule:删除
--query-rich-rule:查询
1
2
3
4
# 设置IP和端口:
1.新增
	永久允许某个ip访问某个端口: 
	firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.111" port protocol="tcp" port="3306" accept"
	永久允许某个网段访问某些端口
	firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3306-9999" accept"
2.删除
	永久删除某个ip访问某个端口: 
	firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.111" port protocol="tcp" port="3306" accept"
3.查询
	查询某个ip访问某个端口: 如果加 --permanent 只显示是否永久有效,返回 yes|no
	firewall-cmd --query-rich-rule="rule family="ipv4" source address="192.168.1.111" port protocol="tcp" port="3306" accept"

1
2
3
4
5
6
7
8
9
10
11
12
# 设置IP和服务:
1.新增
	永久允许某个ip段访问某个服务: 
	firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept"
2.删除
	永久删除某个ip段访问某个服务: 
	firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept"
3.查询
	查询某个ip段对某个服务的访问状态: 如果加 --permanent 只显示是否永久有效,返回 yes|no
	firewall-cmd --query-rich-rule="rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept"

1
2
3
4
5
6
7
8
9
10

# tcpd服务器防火墙配置

# hosts.allow文件,负责控制可以访问本机的IP地址
进入 etc目录先查看是否存在 hosts.allow 文件,有再进行vim操作
cd /etc/
ls
vim hosts.allow
然后添加需要的设置
sshd:192.168.1.0:allow #新增一个IP白名单,可以通过ssh方式连接
sshd:192.168.1.*:allow #新增一个IP段白名单,可以通过ssh方式连接
然后ESC,输入 :wq 保存退出,即可生效
1
2
3
4
5
6
7
8
# hosts.deny文件,负责控制禁止访问本机的IP
帮我改善此页面 (opens new window)
上次更新: 2021/07/06, 08:13:25
关于Github Actions发版姿势补充
Linux踩坑记录

← 关于Github Actions发版姿势补充 Linux踩坑记录→

最近更新
01
zabbix学习笔记二
02-28
02
zabbix学习笔记一
02-10
03
Linux访问不了github
12-08
更多文章>
Theme by Vdoing | Copyright © 2020-2022 Saul.J.Wu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式