作业内容

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_64cp docker-compose-Linux-x86_64 /usr/bin/docker-composechmod 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

#需求:使用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-alpinecontainer_name: nginx-web1expose: #声明的映射端口- 80- 443ports: #定义端口映射- "80:80"- "443:443"networks: #自定义网络,两块网卡,按顺序排列eth0 和eth1,使用自定义的网络,如果网络不存在则会自动创建该网络并分配子网- front- backendvolumes: #物理机与磁盘映射关系- ./web1:/usr/share/nginx/html- ./conf.d:/etc/nginx/conf.d/links:- tomcat-servertomcat-server:image: registry.cn-hangzhou.aliyuncs.com/zhangshijie/tomcat-myapp:v1container_name: tomcat-app1networks: #eth1- backendlinks:- mysql-servernetworks:front: #自定义前端服务网络,需要docker-compose创建driver: bridgebackend:  #自定义后端服务的网络,要docker-compose创建driver: bridge

访问前端界面,验证结果
默认首页

访问代理测试页面

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

     1、前置操作,更新镜像源,安装相关工具,依赖sudo apt-get updatesudo apt-get install -y curl openssh-server ca-certificates tzdata perl2\根据操作系统版本,下载对应的gitlab   lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription:    Ubuntu 22.10Release:        22.10Codename:       kinetic3、访问国内镜像下载源  ,练习默认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.rb5、生成配置文件gitlab-ctl reconfigure6、查看gitlab状态gitlab-ctl status7、第一次默认密码存储位置cat /etc/gitlab/initial_root_password


创建group user 和project 并授权

1、修改环境为中文
http://192.168.188.129/-/profile/preferences 选择环境为中文

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”

3、查看备份文件

配置文件默认命名方式 时间戳_年月日_版本号_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.comgit 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.gitgit branch 查看当前分支git checkout -b devlop 创建一个开发分支git checkout devlop 切换到开发分支git remote add origin 仓库地址  添加远程仓库地址git push -u origin devlopgit remote -v 查看当前远程仓库地址git push -u origin devlop 推送开发分支


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

1、安装java环境,直接apt
apt install openjdk-11-jdk
验证java环境
java -version

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” “ H T T P P O R T " " 8081 " " HTTP_PORT" "8081" " HTTPP​ORT""8081""HTTP_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、第一次启动时遇到长时间无法启动

修改配置文件,更新源为国内清华镜像源后重启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、复制初始密码进入初始设置界面,选择推荐安装

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

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 jenkins

12、安装完所有必须插件进入主界面

13、添加ssh全局凭证
选择上文录入的git 公钥

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

15、build查看结果

极客时间_week03_work相关推荐

  1. 极客时间VIP年卡,任意专栏免费看,谁要?

    最近支付宝的 "中国锦鲤"活动 ,让信小呆一夜爆红 ,此后很多商家开始纷纷效仿发起寻找同城 "锦鲤" .各种以"锦鲤"为名的转发抽奖活动正式 ...

  2. 重磅开源!推荐一个以最优惠的方式购买极客时间课程的开源项目!

    简介 以最优惠的方式购买极客时间的课程. 做为一名互联网人是要终身学习的,总是要学习很多知识点的,总是会买很多课程来学,但是很多课程都很贵,最终没有学到相应的知识点. 极客时间 是一个轻松学习,高效学 ...

  3. 极客时间和极客学院_极客历史记录的本周:Twitter的诞生,OS X十周年以及太空停留时间最长的时代即将结束...

    极客时间和极客学院 Every week we bring you interesting trivia and milestones from the archives of Geekdom. To ...

  4. 极客时间算法练习题总结

    文章出处:极客时间<数据结构和算法之美>-作者:王争.该系列文章是本人的学习笔记. 在极客时间<数据结构和算法之美>最后,王争老师加餐了7天训练内容,对每一部分需要掌握的数据结 ...

  5. 极客时间App安卓版上线,让知识获取更加简单

    在12月8日于京举办的 ArchSummit 全球架构师峰会上,极客邦科技正式宣布旗下 IT 知识服务产品-极客时间 App 继 iOS 版本发布后,蓄势一个月,安卓强势上线,已全面登陆各大应用市场. ...

  6. 测试 极客时间_针对数据极客和记者测试DocHive

    测试 极客时间 呼吁所有数据极客和发烧友! 测试现已在DocHive 上开放- 从GitHub开始 . DocHive是一个开源的Ruby on Rails项目,用于从基于图像的PDF捕获数据. Do ...

  7. 硅谷python_来自硅谷的Python最佳实践指南 | 极客时间

    这几年,学 Python 的程序员的确越来越多了,甚至不少人把 Python 当作第一语言来学习.也难怪,Python 的优点太多了,它语言简洁.开发效率高.可移植性强,并且可以和其他编程语言(比如 ...

  8. 极客时间和极客学院_极客需要告诉我们的父母有关安全可靠地在线购物的信息

    极客时间和极客学院 Mom and Dad, it's a dangerous Internet. You like it and you use it but you don't understan ...

  9. 极客时间「大师课·深度剖析 RocketMQ5.0」上线啦,欢迎免费领取!

    从初代开源消息队列崛起,到 PC 互联网.移动互联网爆发式发展,再如今 IoT.云计算.云原生引领了新的技术趋势,消息中间件的发展已经走过了 30 多个年头. 目前,消息中间件在国内许多行业的关键应用 ...

最新文章

  1. 基于视频理解TSM和数据集20bn-jester-v1的27类手势识别
  2. 谭浩强课后题之----求最大公约数和最小公倍数
  3. 计算机中丢失无法开机密码,电脑由于忘记开机密码,现拔出了主板电池,。结果开不了机,怎么办?急 按开机键,一点反应都没...
  4. SpringBoot 读取资源文件
  5. SpringSecurity 整合 JWT
  6. Java内存配太大导致fullgc_记一次因为短命大对象导致fullGC的问题
  7. java 微信 回复_微信java 开发2 发送文本消息并回复
  8. “==”和equals()的用法
  9. Java I/O学习——File
  10. 【XS128】Link error L1822 symbol _FADD / _FSUB/ _FDIV/ _FMUL.....错误解决的方法
  11. 阿里云CentOS下搭建LNMP环境和Moodle安装
  12. ssh命令行使用明文密码连接远程服务器并执行命令
  13. 常见网络厂商Mib库文件
  14. Java基础-运算符
  15. 记录向 | 爬虫 | 裁判文书爬取(java)
  16. 读懂 互联网巨头 【中台之战】 以及 中台 发展思维
  17. 书评 | 赋能 - 打造应对不确定性的敏捷团队
  18. sizeof(long)
  19. 电视直播加点播,800+直播频道全网影视资源
  20. esxi能直通的显卡型号_七彩虹RTX SUPER祝融(火神)版显卡上手体验

热门文章

  1. 山还是山 水还是水
  2. LocalDateTime查找最近的五分钟点
  3. 简单java编程练习题
  4. C# AO/ArcEngine 栅格数据总结
  5. note2刷 android 5.0.2,三星Galaxy Note Pro 12.2 Android 5.0.2更新锁定了竞争对手的键盘
  6. n子棋,你能下赢电脑吗,来玩玩吧
  7. 2023养生健康品牌连锁加盟展/医养健康产业展/山东大健康展
  8. Android 系统自动获取来电/短信/提示铃声
  9. mysql创建新用户
  10. HTML-文本格式化