Linux上安装和使用OneDev:带有Kanban和CI/CD的Git服务器
本文介绍在Linux系统上安装和使用OneDev的方法,它是一款带有Kanban和CI/CD的自托管Git服务器。要用好OneDev其浏览器要求为Microsoft Edge、Safari 7.0、Chrome 40.0、Firefox 40.0或更高版本、同时要有至少2G的物理内存。
在Linux上安装OneDev的方法
1、在您的系统上安装OneDev
有很多方法可以安装和运行OneDev,比如作为Docker容器运行、部署到Kubernetes、在裸机/虚拟机上运行。
在本指南中,我们将学习如何在裸机/虚拟机和Docker容器上安装OneDev。
选项1、在裸机/虚拟机上运行OneDev
这种方法非常复杂,因为需要几个依赖包。首先,确保安装了Java 11或更高版本,可参考在Ubuntu 22.04系统上安装Java 11的三种方法,阅读地址在https://www.hmxthome.com/linux/4917.html。还要Git 2.11.1或更高版本。同时,还需要安装cURL。这可以使用以下命令来完成:
1]、Debian/Ubuntu
sudo apt update && sudo apt install curl git -y
2]、Rhel/Rocky Linux/Alma Linux
sudo yum install curl git -y
3]、Arch Linux
sudo pacman -S git
在Arch Linux上,您需要安装所需的字体:
sudo pacman -S fontconfig ttf-dejavu
一旦安装了所需的软件包,请获取最新的OneDev版本,地址在https://code.onedev.io/。或者,您也可以选择所需的版本,例如8.0.13版本:
mkdir onedev && cd onedev
wget https://code.onedev.io/~downloads/projects/160/builds/3540/artifacts/onedev-8.0.15.tar.gz
现在提取存档:
tar -xvf onedev-*.tar.gz
现在导航到目录:
cd onedev-*/
现在安装该服务。首先,编辑conf\wraper.conf,如果系统路径中不存在wrapper.java.command,则将其值设置为java命令的路径。例如,在我的案例中,Java位于/opt/jdk-18/:
$ vim conf/wrapper.conf
wrapper.java.command=/opt/jdk-18/bin/java
一旦进行了更改,请运行以下命令安装服务:
sudo bin/server.sh install
注:以上命令Linux和MacOS通用。如果是在Windows上(来自具有管理员权限的同一文件夹),则运行server.bat install。
将创建OneDev的系统服务。启动并启用服务:
sudo systemctl enable --now onedev
检查服务的状态:
$ systemctl status onedev
onedev.service - OneDev
Loaded: loaded (/etc/systemd/system/onedev.service; enabled; vendor preset: enabled)
Active: active
选项2、将OneDev作为Docker容器运行
这个选项最适合那些希望在安装依赖项时避免复杂性的人。在这里,您所需要的只是安装并运行Docker引擎,可参考如何在Ubuntu 22.04系统上安装Docker CE一文,阅读地址在https://www.hmxthome.com/linux/4941.html。
安装后,将您的系统用户添加到docker组中。
sudo usermod -aG docker $USER
newgrp docker
现在为OneDev创建一个存储目录:
sudo mkdir /onedev
sudo chmod -R 777 /onedev
在基于Rhel的系统上,为要访问的路径配置SELinux:
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
现在,您可以使用以下命令轻松地运行容器:
docker run -d \
--name onedev \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /onedev:/opt/onedev \
-p 6610:6610 \
-p 6611:6611 \
1dev/server
检查容器的状态:
$ docker ps
486341cf8a7f 1dev/server "/root/bin/entrypoin…" 17 seconds ago Up 14 seconds 0.0.0.0:6610-6611->6610-6611/tcp, :::6610-6611->6610-6611/tcp onedev
访问OneDev Web UI
一旦安装了OneDev,您现在可以使用URL访问它,地址格式为http://domain_name:6610。首先,创建管理员用户:
设置网站的URL:
现在您已经准备好使用OneDev了:
使用OneDev:Git与Kanban和CI/CD一起使用
现在,我们将使用OneDev自托管Git服务器与Kanban和CI/CD。我们将从web UI创建一个测试项目开始:
一旦创建,我们将从终端创建一个react应用程序。首先,在继续操作之前,请在系统上安装Node.js 14或更高版本:
1]、RHEL/CentOS/Fedora
sudo yum install gcc-c++ make
curl --silent --location https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum -y install nodejs
2]、Debian/Ubuntu
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
现在创建应用程序:
npx create-react-app myapp
在此之后,您将在当前目录中创建我的应用程序的目录。要将此代码推送到OneDev,请导航到目录:
cd myapp
现在将代码推送到OneDev:
git remote add origin http://localhost:6610/myapp
git push origin master:master
样本输出:
现在,您应该按照web UI中所示的方式推送您的代码:
现在单击“adding onedev buildspec”以打开GUI并添加构建规范:
在这里,我们将使用默认模板。保存此规范并提交更改:
现在,您将在此处看到正在进行的CI构建:
要查看进度,请单击它:
一旦完成,您应该有一个如图所示的构建:
注:从上面介绍的OneDev使用方法来看,使用OneDev非常的简单,其他的实际例子可按上面的方法操作,用户可自行去尝试。