极客时间_week03_work
作业内容
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" " HTTPPORT""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相关推荐
- 极客时间VIP年卡,任意专栏免费看,谁要?
最近支付宝的 "中国锦鲤"活动 ,让信小呆一夜爆红 ,此后很多商家开始纷纷效仿发起寻找同城 "锦鲤" .各种以"锦鲤"为名的转发抽奖活动正式 ...
- 重磅开源!推荐一个以最优惠的方式购买极客时间课程的开源项目!
简介 以最优惠的方式购买极客时间的课程. 做为一名互联网人是要终身学习的,总是要学习很多知识点的,总是会买很多课程来学,但是很多课程都很贵,最终没有学到相应的知识点. 极客时间 是一个轻松学习,高效学 ...
- 极客时间和极客学院_极客历史记录的本周:Twitter的诞生,OS X十周年以及太空停留时间最长的时代即将结束...
极客时间和极客学院 Every week we bring you interesting trivia and milestones from the archives of Geekdom. To ...
- 极客时间算法练习题总结
文章出处:极客时间<数据结构和算法之美>-作者:王争.该系列文章是本人的学习笔记. 在极客时间<数据结构和算法之美>最后,王争老师加餐了7天训练内容,对每一部分需要掌握的数据结 ...
- 极客时间App安卓版上线,让知识获取更加简单
在12月8日于京举办的 ArchSummit 全球架构师峰会上,极客邦科技正式宣布旗下 IT 知识服务产品-极客时间 App 继 iOS 版本发布后,蓄势一个月,安卓强势上线,已全面登陆各大应用市场. ...
- 测试 极客时间_针对数据极客和记者测试DocHive
测试 极客时间 呼吁所有数据极客和发烧友! 测试现已在DocHive 上开放- 从GitHub开始 . DocHive是一个开源的Ruby on Rails项目,用于从基于图像的PDF捕获数据. Do ...
- 硅谷python_来自硅谷的Python最佳实践指南 | 极客时间
这几年,学 Python 的程序员的确越来越多了,甚至不少人把 Python 当作第一语言来学习.也难怪,Python 的优点太多了,它语言简洁.开发效率高.可移植性强,并且可以和其他编程语言(比如 ...
- 极客时间和极客学院_极客需要告诉我们的父母有关安全可靠地在线购物的信息
极客时间和极客学院 Mom and Dad, it's a dangerous Internet. You like it and you use it but you don't understan ...
- 极客时间「大师课·深度剖析 RocketMQ5.0」上线啦,欢迎免费领取!
从初代开源消息队列崛起,到 PC 互联网.移动互联网爆发式发展,再如今 IoT.云计算.云原生引领了新的技术趋势,消息中间件的发展已经走过了 30 多个年头. 目前,消息中间件在国内许多行业的关键应用 ...
最新文章
- 基于视频理解TSM和数据集20bn-jester-v1的27类手势识别
- 谭浩强课后题之----求最大公约数和最小公倍数
- 计算机中丢失无法开机密码,电脑由于忘记开机密码,现拔出了主板电池,。结果开不了机,怎么办?急 按开机键,一点反应都没...
- SpringBoot 读取资源文件
- SpringSecurity 整合 JWT
- Java内存配太大导致fullgc_记一次因为短命大对象导致fullGC的问题
- java 微信 回复_微信java 开发2 发送文本消息并回复
- “==”和equals()的用法
- Java I/O学习——File
- 【XS128】Link error L1822 symbol _FADD / _FSUB/ _FDIV/ _FMUL.....错误解决的方法
- 阿里云CentOS下搭建LNMP环境和Moodle安装
- ssh命令行使用明文密码连接远程服务器并执行命令
- 常见网络厂商Mib库文件
- Java基础-运算符
- 记录向 | 爬虫 | 裁判文书爬取(java)
- 读懂 互联网巨头 【中台之战】 以及 中台 发展思维
- 书评 | 赋能 - 打造应对不确定性的敏捷团队
- sizeof(long)
- 电视直播加点播,800+直播频道全网影视资源
- esxi能直通的显卡型号_七彩虹RTX SUPER祝融(火神)版显卡上手体验