作业内容

1、基于 docker-compose 实现对 Nginx+Tomcat Web 服务的单机编排
2、安装 GitLab、创建 group、user 和 project 并授权
3、熟练 Git 命令的基本使用,通过 Git 命令实现源代码的 clone、push 等基本操作
4、熟练掌握对 GitLab 服务的数据备份与恢复
5、部署 Jenkins 服务器并安装 GitLab 插件、实现代码免秘钥代码 clone

1、基于docker-compose 实现对Nginx+Tomcat Web服务的单机编排

docker-compose安装
		apt install docker-compose
		二进制安装
		wget https://github.com/docker/compose/releases/download/v2.12.1/docker-compose-linux-x86_64
		cp docker-compose-Linux-x86_64 /usr/bin/docker-compose
		chmod a+x /usr/bin/docker-compose
		官方文档页 https://docs.docker.com/compose/compose-file/
		https://docs.docker.com/compose/compose-file/compose-versioning/

新建docker-compose.yaml文件

vim docker-compose.yaml

极客云原生 下载极客云_git

#需求:使用nginx代理访问成功tomcat默认界面
#1、准备好nginx测试网页,代理配置文件,nginx镜像
#2、准备好tomcat镜像,选择老师已经打好的tomcat测试镜像 registry.cn-hangzhou.aliyuncs.com/zhangshijie/tomcat-myapp:v1
version: '3.8' #指定的语法版本
services: #定义服务
  nginx-server: #当前容器服务名
    image: nginx:1.22.0-alpine
    container_name: nginx-web1
    expose: #声明的映射端口
      - 80
      - 443
    ports: #定义端口映射
      - "80:80"
      - "443:443"
    networks: #自定义网络,两块网卡,按顺序排列eth0 和eth1,使用自定义的网络,如果网络不存在则会自动创建该网络并分配子网
      - front
      - backend
    volumes: #物理机与磁盘映射关系
      - ./web1:/usr/share/nginx/html
      - ./conf.d:/etc/nginx/conf.d/
    links:
      - tomcat-server

  tomcat-server:
    image: registry.cn-hangzhou.aliyuncs.com/zhangshijie/tomcat-myapp:v1
    container_name: tomcat-app1
    networks: #eth1
      - backend
    links:
      - mysql-server



networks:
  front: #自定义前端服务网络,需要docker-compose创建
    driver: bridge
  backend:  #自定义后端服务的网络,要docker-compose创建
    driver: bridge

访问前端界面,验证结果

默认首页

极客云原生 下载极客云_极客云原生_02


访问代理测试页面

极客云原生 下载极客云_运维_03

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

1、前置操作,更新镜像源,安装相关工具,依赖
		sudo apt-get update
		sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
		2\根据操作系统版本,下载对应的gitlab   lsb_release -a
		No LSB modules are available.
		Distributor ID: Ubuntu
		Description:    Ubuntu 22.10
		Release:        22.10
		Codename:       kinetic
		3、访问国内镜像下载源  ,练习默认gitlab-ce版本
		wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/jammy/main/g/gitlab-ce/gitlab-ce_15.5.0-ce.0_amd64.deb
		命令安装
		dpkg -i gitlab-ce_15.5.2-ce.0_amd64.deb   
		4、修改配置文件
		vim /etc/gitlab/gitlab.rb
		5、生成配置文件
		gitlab-ctl reconfigure
		6、查看gitlab状态
		gitlab-ctl status
		7、第一次默认密码存储位置
		cat /etc/gitlab/initial_root_password

极客云原生 下载极客云_极客云原生_04


极客云原生 下载极客云_服务器_05

创建group user 和project 并授权

1、修改环境为中文

http://192.168.188.129/-/profile/preferences 选择环境为中文

极客云原生 下载极客云_极客云原生_06


2、添加管理员电子邮件地址并验证

http://192.168.188.129/-/profile/emails 3、修改默认通知邮件和主邮件

http://192.168.188.129/-/profile/notifications http://192.168.188.129/-/profile 4、修改密码

http://192.168.188.129/-/profile/password

5、关闭掉默认开启的注册功能

http://192.168.188.129/admin

6、新建用户


7、新建群组


8、邀请成员授权开发者权限


9、新建项目

http://192.168.188.129/projects/new?namespace_id=5

4、熟练掌握对 GitLab 服务的数据备份与恢复

1、停止相关数据连接服务,在当前目录备份gitlab服务

gitlab-ctl stop unicorn sidekiq

gitlab-rake gitlab:backup:create

2、备份文件默认存储位置

cat /etc/gitlab/gitlab.rb | grep “backup_path”

极客云原生 下载极客云_git_07


3、查看备份文件

极客云原生 下载极客云_运维_08


配置文件默认命名方式 时间戳_年月日_版本号_gitlab_backup.tar

4、启动服务

gitlab-ctl start unicorn sidekiq

5、数据恢复操作

关闭数据连接服务

gitlab-ctl stop unicorn sidekiq

选择指定的备份文件,恢复数据

gitlab-rake gitlab:backup:restore BACKUP=1668263684_2022_11_12_15.5.0

6、启动数据连接服务

gitlab-ctl start unicorn sidekiq

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

git config --global user.name “NAME” #设置全局用户
		git config --global user.email xxxx@yy.com
		git config --global --list
		配置ssh免认证
		ssh-keygen -t rsa -C 'xxx@xxx.com' 按注册邮箱生成
		http://192.168.188.129/-/profile/keys 添加密钥 拷贝公钥内容
		git clone git@192.168.188.129:devops/devops_geek.git
		git branch 查看当前分支
		git checkout -b devlop 创建一个开发分支
		git checkout devlop 切换到开发分支
		git remote add origin 仓库地址  添加远程仓库地址
		git push -u origin devlop
		git remote -v 查看当前远程仓库地址
		git push -u origin devlop 推送开发分支

极客云原生 下载极客云_git_09


极客云原生 下载极客云_docker_10

5、部署 Jenkins 服务器并安装 GitLab 插件、实现代码免秘钥代码 clone

1、安装java环境,直接apt

apt install openjdk-11-jdk

验证java环境

java -version

极客云原生 下载极客云_docker_11


2、下载jenkins二进制安装包 并安装

wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian/jenkins_2.321_all.deb

apt install daemon

dpkg -i jenkins_2.321_all.deb

3、修改端口

vim /etc/default/jenkins

HTTP_PORT=8081

vim /etc/init.d/jenkins

check_tcp_port “http” “极客云原生 下载极客云_运维_12HTTP_HOST” “0.0.0.0” || return 2

4、修改变量NAME,以root用户启动

vim /etc/default/jenkins

JENKINS_USER=root

JENKINS_GROUP=root

vim /lib/systemd/system/jenkins.service

User=root

Group=root

5、systemctl daemon-reload & systemctl restart jenkins & systemctl enable jenkins

6、第一次启动默认密码存储位置

/var/lib/jenkins/secrets/initialAdminPassword

7、第一次启动时遇到长时间无法启动

极客云原生 下载极客云_服务器_13


修改配置文件,更新源为国内清华镜像源后重启jenkins服务

需要你进入jenkins的工作目录,打开-----hudson.model.UpdateCenter.xml将 url 中的

https://updates.jenkins.io/update-center.json 更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

8、复制初始密码进入初始设置界面,选择推荐安装

极客云原生 下载极客云_git_14


9、等待依赖和基础插件安装完成

极客云原生 下载极客云_git_15


11、下载插件时下载失败,等待过久,替换下载源为国内镜像源(备注 无用,最新版本jenkins重启会重新下载json文件覆盖原有操作,尚未找到解决办法)

cd /var/lib/jenkins/updates

sudo sed -i ‘s#updates.jenkins.io/download/plugins#mirrors.tuna.tsinghua.edu.cn/jenkins/plugins#g’ default.json && sudo sed -i ‘s#www.google.com#www.baidu.com#g’ default.json

systemctl restart jenkins12、安装完所有必须插件进入主界面

极客云原生 下载极客云_docker_16

13、添加ssh全局凭证

选择上文录入的git 公钥

极客云原生 下载极客云_git_17


14、新建自由流水线,并clone代码

极客云原生 下载极客云_git_18


15、build查看结果