linux cpu占用率如何看
326
2022-10-23
树莓派4B基于docker搭建devops平台
开发者供不应求,传统企业如何拥抱 DevOps ?>>>
背景
在树莓派PI4B上用开源软件容器化部署一套devops平台,可以用来正常做代码管理、仓库管理、项目管理和CICD等开发、运维等研发活动。
准备
硬件:Raspberry Pi 4B(8g版本)OS:centos7.9基础环境:19.03.8IP:10.0.1.155
架构
工具链 | 用途 | 端口 |
MYSQL | 服务于禅道 | 3306 |
禅道 | 项目管理 | 8085 |
gogs | 代码管理 | 3000,10022 |
nexus | maven、npm、docker私服 | 8081,8082,8083 |
jenkins | 持续集成、持续部署 | 8080:5000 |
部署MYSQL
镜像
biarms/mysql:5.7.30-linux-arm64v8:支持arm64v8,树莓派可用
规划
配置目录:无配置文件:/opt/server/mysql/my.cnf数据目录:/opt/server/mysql/data/日志目录:/opt/server/mysql/data/开放端口:3306
配置文件
mkdir -p /opt/server/mysqlvi /opt/server/mysql/my.cnf
写入
[mysqld]## server_id=1## binlog-ignore-db=mysql## log-bin=replicas-mysql-bin## binlog_cache_size=1M## binlog_format=mixed## max_allowed_packet=125Mmax_connections=200max_connect_errors=10000datadir =/opt/mysql/datasocket =/opt/mysql/data/mysql.socklower_case_table_names = 1 #Encodingcollation-server = utf8mb4_bininit-connect='SET NAMES utf8mb4'character-set-server = utf8mb4 log_error=error.log [client]default-character-set = utf8mb4socket =/opt/mysql/data/mysql.sock
:wq关闭保存
启动容器
docker run -d \--name mysqld \-p 3306:3306 \--privileged=true --restart=always \-e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=Fast@1234 \-v /opt/server/mysql/my.cnf:/etc/mysql/my.cnf \-v /opt/server/mysql/data:/opt/mysql/data \biarms/mysql:5.7.30-linux-arm64v8
部署禅道
镜像
pi4k8s/php-mysql:7.2-apache:支持arm64v8,树莓派可用
软件
run -itd --name zentao \-p 8085:80 \--privileged=true --restart always \-e TZ=Asia/Shanghai \-v /opt/server/zentao/data:/var/\pi4k8s/php-mysql:7.2-apache
安装
cd /opt/server/zentao/datacurl -O -L -s "install -y unzipunzip ZenTaoPMS.16.0.ziprm -f ZenTaoPMS.16.0.zip
初始化服务
初始化服务
访问地址:stop zentao && docker rm zentao # 强制删除docker rm -f zentao
日常运维
docker start zentao docker restart zentao docker stop zentao
备份相关
• 数据目录:opt/server/zentao/data/
部署gogs
镜像
pi4k8s/gogs:0.12.3:支持arm64v8,树莓派可用
规划
配置目录:无配置文件:/opt/server/gogs/data/gogs/conf/app.ini数据目录:/opt/server/gogs/data日志目录:/opt/server/gogs/data/logs开放端口:3000,10022
启动容器
docker run -d --name=gogs \-p 10022:22 -p 3000:3000 \--privileged=true --restart=always \-e TZ=Asia/Shanghai \-v /opt/server/gogs/data:/data \pi4k8s/gogs:0.12.3
初始化服务
访问地址:或 TiDB,这里我们选择内置的SQLite3,具体配置如下:
应用基本配置
这部分基本采用默认值,域名和应用URL根据实际情况配置即可,本笔记中使用了宿主机IP作为记录。
可选配置
这部分主要提供了邮件服务器设置和一些其它设置,另外比较重要的就是需要设置一个管理员,其它设置根据实际情况配置即可。 配置完后,直接点“继续安装”按钮,就可以进入首页了。
变更服务
初始化服务后,会生成配置文件/opt/server/gogs/data/gogs/conf/app.ini,该文件内容完全对应初始化服务除管理员信息外的其它配置信息,如果后续需要修改具体配置,可以直接修改这个文件,修改后重启容器即生效。
删除容器
docker stop gogs && docker rm gogs# 强制删除docker rm -f gogs
日常运维
docker start gogsdocker restart gogsdocker stop gogs
备份相关
数据目录:/opt/server/gogs/data/配置文件:/opt/server/gogs/data/gogs/conf/app.ini
部署nexus3
镜像
klo2k/nexus3:3.37.1-01:支持arm64v8,树莓派可用
规划
配置目录:无配置文件:无数据目录:/opt/server/nexus3/sonatype-work日志目录:无开放端口:8081,8082,8083
启动容器
mkdir -p /opt/server/nexus3/sonatype-workchown 200.200 /opt/server/nexus3/sonatype-workdocker run -d --name=nexus3 \-p 8081:8081 -p 8082:8082 -p 8083:8083 \--privileged=true --restart=always \-e TZ=Asia/Shanghai \-v /opt/server/nexus3/sonatype-work:/opt/sonatype/sonatype-work \klo2k/nexus3:3.37.1-01
初始化服务
访问地址:in 弹出登录窗口如下
输入用户名和密码,点“sign in”按钮登录后显示安装窗口如下
点“Next”按钮进入下一步,显示设置新密码窗口如下
输入新密码后,点“Next”按钮进入下一步,显示设置是否允许匿名访问窗口如下
笔记中选择允许,点“Next”按钮进入下一步,显示安装完成界面如下
点“Finish”按钮,完成安装,接下来就可以正常使用nexus3了。
删除容器
docker stop nexus3 && docker rm nexus3# 强制删除docker rm -f nexus3
日常运维
docker start nexus3docker restart nexus3docker stop nexus3
备份相关
数据目录:/opt/server/nexus3/sonatype-work/
部署jenkins
镜像
• pi4k8s/jenkins:openjdk8-2.327:支持arm64v8,树莓派可用
规划
• 配置目录:无
• 配置文件:无 • 数据目录:/opt/server/jenkins/data
• 日志目录:无 • 开放端口:8080,50000
启动容器
docker run -d --name=jenkins \-p 8080:8080 -p 50000:50000 \--privileged=true --restart=always \-e TZ=Asia/Shanghai \-v $(which docker):/usr/bin/docker \-v /var/run/docker.sock:/var/run/docker.sock \-v /opt/server/jenkins/data:/root \ pi4k8s/jenkins:openjdk8-2.327
初始化服务
• 访问地址:但网络情况有时候是个比较忧伤的话题,如果确实安装没有什么进展,会显示下面一个令人有些沮丧的界面
如果安装顺利完成后,自动跳转下一步;如果真得离线了,那就跳过插件安装,也进入下一步如下
创建用户或者使用admin账户都可以,根据实际情况,继续进入下一步
根据实际情况配置jenkins URL,进入下一步
到这里,提示jenkins已就绪。
删除容器
docker stop jenkins && docker rm jenkins# 强制删除docker rm -f jenkins
日常运维
docker start jenkinsdocker restart jenkinsdocker stop jenkins
备份相关
数据目录:opt/server/jenkins/data/
关于离线安装
大多数情况下,因为网络原因,我们不得不选择离线安装模式。其实这里的离线安装主要指的就是插件离线安装,应对我们有两种方法:一个方法是通过修改插件更新中心地址,这个可以参考 ;另外一个就是用其他方式下载插件,再把插件上传到jenkins。至于本笔记中需要用到的插件我已经打包 ,下载后解压到/opt/server/jenkins/jenkins_home即可。 另附解压命令供参考
cd /opt/server/jenkins/data/.jenkinstar -zxf plugins.tar.gz
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~