Docker 安装
1、下载安装包
下载地址:Index of linux/static/stable/x86_64/
2、配置docker.service
创建docker脚本,运行docker脚本
[root@fidodb ~]# vi docker_install.sh
#!/bin/bash
# 1:判断操作系统版本是否支持
main=$(uname -r | awk -F . '{print $1}')
minor=$(uname -r | awk -F . '{print $2}')
echo $main $minor
if [[ $main -gt 3 ]] || [[ $main -eq 3 && $minor -gt 10 ]]
then
echo "操作系统满足Docker基本,可以继续安装"
# 2:设置基本属性
echo "开始关闭防火墙"
systemctl stop firewalld >> /dev/null
systemctl disable firewalld >> /dev/null
echo "防火墙已关闭"
setenforce 0
sed -i -e "s|SELINUX=enforcing|SELINUX=disabled|" /etc/selinux/config
# 3:安装Docker
tar zxf docker-18.06.3-ce.tgz
echo "解压完成"
cp docker/* /usr/bin/
# 编辑配置文件
echo "开始编辑docker配置文件"
cat >/etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
echo "Docker配置文件完成"
# 添加文件权限,并启动服务
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
echo "启动Docker服务"
systemctl start docker
echo "设置Docker为自启动"
systemctl enable docker.service
# 验证
systemctl status docker
# 删除当前目录下的Docker文件
rm -rf ./docker
else
echo "内核版本不满足"
exit
fi
gitlab安装
1、使用yum安装
[root@gitlab ~]# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
[root@gitlab ~]# yum install -y gitlab-ce
2、初始化GitLab配置
[root@gitlab ~]# gitlab-ctl reconfigure
gitlab命令
启动:gitlab-ctl start
停止:gitlab-ctl stop
3、使用浏览器登录gitlab,默认80端口,注意不要冲突
gitlab密码
[root@gitlab ~]# cat /etc/gitlab/initial_root_password
4、修改密码
5、创建新项目
6、在gitlab中添加本机服务器key ‘‘引号内为个人邮箱’’
jenkins安装
1、从docker镜像源中拉取最新镜像
[root@jenkins ~]# docker pull jenkins/jenkins:lts
[root@jenkins ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins/jenkins lts 825c3e86c65d 4 weeks ago 471MB
2、安装jdk
JDK官方下载地址:Java Downloads | Oracle
JDK三方下载地址:JDK8 下载 - 编程宝库
maven下载地址:apache-maven-maven-3安装包下载_开源镜像站-阿里云
3、解压安装
[root@jenkins ~]# tar xf jdk-8u45-linux-x64.tar.gz
[root@jenkins ~]# mv jdk1.8.0_45/ /usr/local/jdk
[root@jenkins ~]# tar xf apache-maven-3.5.0-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.5.0 /home/maven
4、运行jenkins容器,使用8099端口进行映射,需要提前创建好本地目录
mkdir -p /opt/jenkins_home
docker run -tid --name jenkins -p 8099:8080 -p 50000:50000 -u root \
-v /opt/jenkins_home:/var/jenkins_home \
-v /home/maven:/usr/local/maven \
-v /usr/local/jdk1.8.0_191:/usr/local/jdk \
-v /etc/localtime:/etc/localtime \
-e TZ="Asia/Shanghai" \
--privileged=true \
--restart=always \
jenkins/jenkins:lts
5、查看jenkins密码。
[root@fidodb maven]# cat /opt/jenkins_home/secrets/initialAdminPassword
2a171a9bc49d4ae6b55645fd23b739d9
6、登录jenkins
7、修改jenkins密码
8、安装配置Jenkins Agent
首先,在JenkinsServer上面添加节点。系统设置 > 节点管理 > 新建节点。
新建节点,选择类型选择固定的节点。
什么是固定的节点呢? 类型分为固定和动态的节点。
固定的节点就是安装到一台固定的机器上。动态节点可以作业运行完成后自动销毁或者新建。
一般采用docker或者Kubernetes来配置动态节点。
填写节点配置参数:执行器数量决定了可以同时构建的job数量。定义标签,多个标签用空格进行分割。标签
指的是一组节点。
启动方式选择Java Web。
然后保存这个节点就加好了。返回节点页面,发现不在线的状态。需要下载agent的启动程序然后到节点
上面启动起来。
当前节点不在线,添加节点内容,复制当前标记的命令
进入节点页面,可以看到agent.jar包的下载链接和对应的启动命令。在节点上面创建一个目录,然后根据提示
的命令行启动。(可以这个启动脚本)
#!/bin/bash
curl -sO http://192.168.6.223:8099/jnlpJars/agent.jar
nohup java -jar agent.jar -url http://192.168.6.223:8099/ -secret @secret-file -name "build-01" -workDir "/data/cicd/jenkins_agent" &