Hugo内容
This commit is contained in:
79
Hugo/content/dev/关于代码维护.md
Normal file
79
Hugo/content/dev/关于代码维护.md
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
draft: true
|
||||
title: 关于代码维护
|
||||
which_category: dev
|
||||
date: 2026-01-22T13:13:00+08:00
|
||||
---
|
||||
|
||||
# 代码维护方式
|
||||
|
||||
较低成本的维护方法就是,局域网内维护,具体方案为局域网内gitlab服务器。
|
||||
|
||||
目前手里有如下硬件(长期运行的):
|
||||
|
||||
- 树莓派5(8G)。
|
||||
- 微型主机(8G,x86_64架构,120G固态)。
|
||||
- 路由器。
|
||||
|
||||
为了使以上3个硬件的相互访问更加便利以及使gitlab的域名固定。树莓派搭建一个DNS服务器,路由器固定树莓派的IP地址,路由器DNS服务器指向树莓派。微型主机作为gitlab的Runner,跑代码的流水线。
|
||||
|
||||
# 安装记录
|
||||
|
||||
下面逐一记录这一块的安装过程。
|
||||
|
||||
## DNS服务器
|
||||
|
||||
先在路由器中固定树莓派地址,本次固定为192.168.0.150。
|
||||
|
||||
sudo apt-get install dnsmasq,安装工具,编辑文件`/etc/dnsmasq.conf`:
|
||||
|
||||
```shell
|
||||
#设置resolv目录
|
||||
resolv-file=/etc/resolv.conf
|
||||
#严格按照从上到下选择dns
|
||||
strict-order
|
||||
#当前机器的ip,如果只想本地访问可以改为127.0.0.1
|
||||
listen-address=192.168.0.150
|
||||
address=/gitlab.cc/192.168.0.150
|
||||
server=8.8.8.8
|
||||
server=114.114.114.114
|
||||
```
|
||||
|
||||
sudo systemctl restart dnsmasq.service,重启服务。
|
||||
|
||||
在路由器中设置首选DNS为192.168.0.150(树莓派地址),重启路由器,然后在其他设备上ping一下设定的域名:
|
||||
|
||||

|
||||
|
||||
## Gitlab
|
||||
|
||||
下载[gitlab/gitlab-ce - Packages · packages.gitlab.com](https://packages.gitlab.com/gitlab/gitlab-ce),本次下载为:gitlab-ce_18.6.4-ce.0_arm64.deb。
|
||||
|
||||
上传到树莓派后进行安装。
|
||||
|
||||

|
||||
|
||||
根据图中的提示,编辑:/etc/gitlab/gitlab.rb,设定 external_url 为 gitlab.cc,然后执行 gitlab-ctl reconfigure,最后执行 gitlab-ctl start。
|
||||
|
||||
邮件配置,参考下方内容:
|
||||
|
||||

|
||||
|
||||
配置结束后,执行 gitlab-ctl reconfigure,执行 sudo gitlab-rails console,执行
|
||||
|
||||
```ruby
|
||||
Notify.test_email('taynpg@163.com', 'test content', 'test').deliver_now
|
||||
```
|
||||
|
||||
类似如下显示,即为成功:
|
||||
|
||||

|
||||
|
||||
### GitRunner
|
||||
|
||||
关于git-runner,windows上有一个关键部分就是,install的时候要传入绝对路径参数。
|
||||
|
||||
```powershell
|
||||
.\gitlab-runner.exe install --working-directory "C:\Bin\RunnerWork" --config "C:\Bin\program\config.toml"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user