Tinker Board 2s配置Jekins、Git、Github WebHook、内网穿透

发布时间 2023-04-27 22:24:08作者: 钟子期

用途说明

目的

充分利用小型开发板的算力,实现个人服务器

适用系统、硬件

debian10及更高版本(lsb_release -acat /etc/redhat-releaseuname -a
文章所使用硬件:Tinker Board 2s

操作速览

  1. 基础配置篇
    1. 开启SSH服务并设置开机自启动
    2. 修改密码
    3. (可选)关闭图形化界面、禁用自动休眠
    4. (可选)挂载硬盘
    5. 系统重装与备份最佳实践
  2. 持续集成篇
    1. 安装Docker与(可选)图形化管理界面Portainer
    2. Jekins最佳实践
    3. (可选)搭建自己的gitlab代码库
  3. NAS篇
    1. 内网穿透最佳实践
  4. 进阶篇
    1. 安装Kubernetes
    2. 安装k3s(开发板或单节点云服务器推荐)

1. 基础配置篇

1.1 开启SSH服务并设置开机自启动

Debian从8.0开始,默认关闭了SSH
1、修改sshd_config文件,命令为:nano /etc/ssh/sshd_config

2、将#PasswordAuthentication no的注释去掉,并且将NO修改为YES

3、将#PermitRootLogin yes的注释去掉,允许Root账号登录

4、启动SSH服务,命令为:/etc/init.d/ssh start 或者service ssh start

5、验证SSH服务状态,命令为:/etc/init.d/ssh status

  1. 添加开机自启动,推荐使用systemd,参考阮一峰的文章
    可能出现的问题:https://blog.csdn.net/Peter_JJH/article/details/108446380

1.2 修改密码

Tinker Board 2s默认的初始账号密码是账号:linaro 密码:linaro
修改root密码sudo passwd root
输入新密码
修改linaro密码sudo passwd linaro

1.3 (可选)关闭图形化界面、禁用自动休眠

目的:降低功耗,服务器无需图形化界面
关闭图形化界面systemctl set-default multi-user.target
切换回图形化界面 sudo systemctl set-default graphical.target
检查当前的target unit,确认已关闭 systemctl get-default
重启机器:sudo systemctl reboot

关闭自动休眠

systemctl status sleep.target
systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
systemctl status sleep.target

1.4 (可选)挂载硬盘

挂载硬盘与永久挂载
目的:挂载硬盘后可将重要数据都放置到硬盘中,开发板需要系统升级时,硬盘数据不受影响
挂载硬盘:
查看硬盘信息 fdisk -l
(可选)分区操作 fdisk /dev/sdb1
挂载硬盘到/mnt目录 mkfs -t ext4 /dev/sdb1
查看硬盘信息 mkfs -t ext4 /dev/sdb1

永久挂载代表机器重启后仍能自动挂载到系统
Debian 使用 UUID 来实现硬盘自动挂载。

  1. 通过 blkid 查找所有硬盘的 UUID:sudo blkid
    可以看到挂载的硬盘 /dev/sdb1 的 UUID 为:ad5f412a-0a0c-42af-afd3-eecec6fd96d2 ,TYPE 为:ext4 。
  2. 添加自动挂载点sudo vim /etc/fstab
    在最后一行添加:UUID=ad5f412a-0a0c-42af-afd3-eecec6fd96d2 /mnt ext4 defaults 0 0
  3. 执行挂载sudo mount -a
    查看挂载点:df -h
    这时,sudo reboot 重启后挂载点依然存在。

1.5 系统重装与备份最佳实践

重装后无论是ssh配置或挂载都消失了,最佳方式为记录一个脚本,每次重装后执行脚本将之前做过的操作都重来一遍

# 
rootpwd=abcd

2. 持续集成篇

2.1 安装Docker与(可选)图形化管理界面Portainer

2.2 Jekins最佳实践

https://juejin.cn/post/6991303151051603999

docker run -u root --rm  -d  -p 8181:8080  -p 50000:50000  -v jenkins-data:/var/jenkins_home -v /var/lib/jenkins/secrets:/var/lib/jenkins/secrets  -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean:1.25.7-bcc31d32159f

查看初始密码cat /var/lib/jenkins/secrets/initialAdminPassword

3. NAS篇

3.1 内网穿透最佳实践

3.2 配置QBitTorrent