20231203-作业

1.安装gitlab,创建group、user和project并授权

# 安装
root@ubuntu-virtual-machine:/apps# dpkg -i gitlab-ce_16.4.3-ce.0_amd64.deb
root@ubuntu-virtual-machine:/apps#  grep -v "#" /etc/gitlab/gitlab.rb | grep -v "^$"
external_url 'http://172.18.10.181'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "2521277651@qq.com"
gitlab_rails['smtp_password'] = "rfpopmmccmqheagc"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '2521277651@qq.com'
user["git_user_email"] = "2521277651@qq.com"
root@ubuntu-virtual-machine:/apps# gitlab-ctl reconfigure
# http://172.18.10.181/ 登录验证

在这里插入图片描述

创建group

在这里插入图片描述

在这里插入图片描述

创建用户

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建项目 选择群组

在这里插入图片描述

在这里插入图片描述

2.熟练git命令的基本使用,通过git命令实现源代码的clone、push等基本操作

# 克隆项目
root@ubuntu-virtual-machine:~/magedu-git# git clone http://172.18.10.181/magedu/order.git
Cloning into 'order'...
Username for 'http://172.18.10.181': magedu
Password for 'http://magedu@172.18.10.181': 
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
root@ubuntu-virtual-machine:~/magedu-git# ls
order
# 提交
root@ubuntu-virtual-machine:~/magedu-git/order# git add README.md 
# 提交到工作区
root@ubuntu-virtual-machine:~/magedu-git/order# git commit -m "v2" 
# 提交到仓库
root@ubuntu-virtual-machine:~/magedu-git/order# git push
# 验证

在这里插入图片描述

3.熟练掌握对gitlab服务的数据备份与恢复

# 数据备份
# 停止相关服务
root@ubuntu-virtual-machine:~/magedu-git/order# gitlab-ctl stop unicorn sidekiq
# 备份
root@ubuntu-virtual-machine:~# gitlab-rake gitlab:backup:create
root@ubuntu-virtual-machine:~# ls /var/opt/gitlab/backups
1701954363_2023_12_07_16.4.3_gitlab_backup.tar
#启动服务
root@ubuntu-virtual-machine:~#  gitlab-ctl start unicorn sidekiq
# 删除数据

在这里插入图片描述

# 恢复数据
root@ubuntu-virtual-machine:~# gitlab-ctl stop unicorn sidekiq
# 恢复数据,指定备份文件
root@ubuntu-virtual-machine:~# gitlab-rake gitlab:backup:restore BACKUP=1701954363_2023_12_07_16.4.3
root@ubuntu-virtual-machine:~# gitlab-ctl start unicorn sidekiq
# 验证数据是否恢复

在这里插入图片描述

4.部署jenkins服务器

# 安装依赖
root@ubuntu-virtual-machine:~# apt install openjdk-11-jdk
# 下载二进制安装包
root@ubuntu-virtual-machine:/apps# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/jenkins_2.414.3_all.deb
# 安装
root@ubuntu-virtual-machine:/apps# dpkg -i jenkins_2.414.3_all.deb && systemctl stop jenkins
root@ubuntu-virtual-machine:/apps# vim /etc/default/jenkins 
JENKINS_USER=root
JENKINS_GROUP=root

User=root
Group=root

# 关闭跨站请求伪造保护(CSRF)保护
JAVA_ARGS="-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"

root@ubuntu-virtual-machine:/apps# systemctl daemon-reload && systemctl restart jenkins.service
# 访问http://172.18.10.182:8080/
# 查看密码
root@ubuntu-virtual-machine:/apps# cat /var/lib/jenkins/secrets/initialAdminPassword
ec6d4492c5724ae09244f4b12e740932

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.掌握jenkins的插件在线安装及离线安装

在线安装插

在这里插入图片描述

在这里插入图片描述

离线安装

下载离线插件 http://updates.jenkins-ci.org/download/plugins/

在这里插入图片描述

在这里插入图片描述

6.实现基于脚本免秘钥clone代码并分发的目的web服务

# 生成密钥对 jenkins 172.18.10.182
root@ubuntu-virtual-machine:/data/scripts# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:xtykluv6C9L6LU+LILzSzt3JFzLV0lvAKiuUfAcG094 root@ubuntu-virtual-machine
The key's randomart image is:
+---[RSA 3072]----+
|    oo   .       |
|     .+   o      |
|   . + o +..     |
|    + +oE=o .    |
|   . . =S..o     |
| .  ..+o...      |
| .o o.ooo.       |
|...+ *.B..       |
| o+ o.B*B.       |
+----[SHA256]-----+
# 私钥在jenkins服务器上,公钥放到gitlab上
root@ubuntu-virtual-machine:/data/scripts# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDRFsoyBLRSaAr7U2yIxghrvd8cKpKluyGxmRSfjT/+mw5JekttprV3JCSzovYvs2nCIYCyz/kUdkPDTTKJvYjjwkJgH7l2IRX3EaD++IihmxmlsCJyMPJR6XLKPMChQl21JgkMofYXBiiJ4ooe6ttC0LQ8kQANCfdynOWkweo5kP5VkCtTP5vJLeddeYZ2FTw0HwHu/XaQhaeGZIahfKMwIfq9B52CV9AazmLR3ULvfCwtWA0rBMaao4jVFxkghFtIzwACSxLDhlEnKGGJEFH+hSfR7R1XHnCRRFZWhDcOfyNQ6qYzm99PeFAlcrNrsil0wd2n8bdZoZDxgjw974ZSM9RInTpPXEbhMlMQ8QMLmzr7Jnt9OGLgJ8eZglTASt9DHzuDu7BYtxAbYK1SBBQK82Vz6XwQSYimuwULYU2Plmn3D+3Wd1sB2m2QjH+G4meLv7beH69CdkvXu1Lh0B5ynTjaTtrKg5wt0pRI4Nq/rIWhQoeblkJq59DLbkKcITc= root@ubuntu-virtual-machine
# 配置gitlab ssh key

偏好设置-ssh秘钥-新建添加秘钥

在这里插入图片描述

# 克隆项目
root@ubuntu-virtual-machine:/data/scripts/gitlab# git clone git@172.18.10.181:magedu/order.git
# 安装nginx 172.18.10.200
root@ubuntu-virtual-machine:~# apt install -y nginx
root@ubuntu-virtual-machine:~# systemctl restart nginx
# 拷贝公钥到nginx主机
root@ubuntu-virtual-machine:~# ssh-copy-id 172.18.10.200
# 创建流水线,使用脚本完成代码自动分发
root@ubuntu-virtual-machine:/data/scripts# cat test.sh 
#!/bin/bash

rm -rf /data/scripts/gitlab/order
cd /data/scripts/gitlab/
git clone git@172.18.10.181:magedu/order.git

cd order
ssh 172.18.10.200 "systemctl stop nginx"
scp index.html 172.18.10.200:/var/www/html/

ssh 172.18.10.200 "systemctl start nginx"
# 访问nginx验证

在这里插入图片描述

执行构建

在这里插入图片描述

验证nginx

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值