升级了安装脚本,更正了文档和一些链接 #41
1
Makefile
1
Makefile
@@ -941,6 +941,7 @@ controller-manager-debug: go-check
|
||||
|
||||
.PHONY: devstar
|
||||
devstar:
|
||||
@sudo chmod 666 /var/run/docker.sock
|
||||
@if docker pull devstar.cn/devstar/devstar-dev-container:v1.0; then \
|
||||
docker tag devstar.cn/devstar/devstar-dev-container:v1.0 devstar.cn/devstar/devstar-dev-container:latest && \
|
||||
echo "Successfully pulled devstar.cn/devstar/devstar-dev-container:v1.0 taged to latest"; \
|
||||
|
||||
32
README.md
32
README.md
@@ -19,11 +19,23 @@ This project has been
|
||||
|
||||
## Building
|
||||
|
||||
> 如果您是在Windows环境下,请在cmd命令行下先运行如下命令:`wsl --install Ubuntu`
|
||||
|
||||
在Ubuntu下安装依赖开发工具:
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt install -y build-essential
|
||||
sudo apt-get install -y docker.io
|
||||
```
|
||||
|
||||
Build devstar-studio:latest From the root of the source tree, run::
|
||||
|
||||
```
|
||||
git clone https://devstar.cn/devstar/devstar.git && cd devstar
|
||||
make devstar # Build devstar-studio:latest
|
||||
```
|
||||
|
||||
or Build a binary file named `gitea` From the root of the source tree, run:
|
||||
|
||||
TAGS="bindata" make build
|
||||
@@ -53,32 +65,18 @@ public/assets/install.sh logs
|
||||
# 停止并删除devstar-studio容器
|
||||
public/assets/install.sh clean
|
||||
# 删除所有容器
|
||||
sudo docker stop $(docker ps -aq) && sudo docker rm -f $(docker ps -aq)
|
||||
sudo docker stop $(sudo docker ps -aq) && sudo docker rm -f $(sudo docker ps -aq)
|
||||
```
|
||||
|
||||
or, After building, a binary file named `gitea` will be generated in the root of the source tree by default. To run it, use:
|
||||
|
||||
./gitea web
|
||||
|
||||
> [!NOTE]
|
||||
> devcontainer相关功能不能在localhost域名下正常工作,调试环境请在custom/conf/app.ini中修改为IP地址
|
||||
|
||||
## Contributing
|
||||
|
||||
Expected workflow is: Fork -> Patch -> Push -> Pull Request
|
||||
|
||||
如果您是在Windows环境下,请在cmd命令行下先运行如下命令:
|
||||
|
||||
```
|
||||
wsl --install -d Ubuntu && wsl --setdefault Ubuntu
|
||||
```
|
||||
|
||||
在Ubuntu下使用容器化开发环境:
|
||||
|
||||
```bash
|
||||
sudo apt install -y build-essential
|
||||
```
|
||||
|
||||
在DevStar Git仓库创建分支
|
||||
|
||||
```bash
|
||||
@@ -89,10 +87,6 @@ git checkout -b YOUR_BRANCH_NAME
|
||||
make devstar # Build devstar-studio:latest
|
||||
public/assets/install.sh start --image=devstar-studio:latest
|
||||
|
||||
# 镜像方式安装验证
|
||||
make devstar # Build devstar-studio:latest
|
||||
public/assets/install.sh start --image=devstar-studio:latest
|
||||
|
||||
# 提交代码
|
||||
git add FILES
|
||||
git commit -m "commit log"
|
||||
|
||||
@@ -37,36 +37,16 @@ failure() {
|
||||
echo -e "${RED}$1${NC}"
|
||||
}
|
||||
|
||||
# Function to add iproute
|
||||
function ensure_ip_tool {
|
||||
if ! command -v ip &> /dev/null; then
|
||||
echo "检测到缺失 'ip' 命令,正在尝试安装 iproute2..."
|
||||
OS_ID=$(grep '^ID=' /etc/os-release | cut -d= -f2 | tr -d '"')
|
||||
case $OS_ID in
|
||||
ubuntu|debian)
|
||||
sudo apt-get update && sudo apt-get install -y iproute2
|
||||
;;
|
||||
centos|fedora|rhel)
|
||||
sudo yum install -y iproute
|
||||
;;
|
||||
*)
|
||||
echo "无法自动安装 iproute2"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to create docker data volume
|
||||
create_volume() {
|
||||
local volume_name="${1:-$DATA_VOLUME}"
|
||||
|
||||
if docker volume inspect "$volume_name" >/dev/null 2>&1; then
|
||||
if sudo docker volume inspect "$volume_name" >/dev/null 2>&1; then
|
||||
echo "检测到数据卷 '$volume_name' 已存在" >&2
|
||||
return 0
|
||||
fi
|
||||
|
||||
if docker volume create "$volume_name"; then
|
||||
if sudo docker volume create "$volume_name"; then
|
||||
echo "数据卷 '$volume_name' 创建成功"
|
||||
return 0
|
||||
else
|
||||
@@ -79,20 +59,20 @@ delete_volume() {
|
||||
local volume_name="${1:-$DATA_VOLUME}"
|
||||
|
||||
# 检查数据卷是否存在
|
||||
if ! docker volume inspect "$volume_name" >/dev/null 2>&1; then
|
||||
if ! sudo docker volume inspect "$volume_name" >/dev/null 2>&1; then
|
||||
echo "数据卷 '$volume_name' 不存在" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 执行删除
|
||||
if docker volume rm "$volume_name" 2>/dev/null; then
|
||||
if sudo docker volume rm "$volume_name" 2>/dev/null; then
|
||||
echo "Docker数据卷 '$volume_name' 已删除"
|
||||
return 0
|
||||
else
|
||||
echo "删除失败!尝试强制删除..." >&2
|
||||
|
||||
# 尝试强制删除
|
||||
if docker volume rm -f "$volume_name" 2>/dev/null; then
|
||||
if sudo docker volume rm -f "$volume_name" 2>/dev/null; then
|
||||
echo "Docker数据卷 '$volume_name' 已强制删除"
|
||||
return 0
|
||||
else
|
||||
@@ -110,29 +90,22 @@ function install_dependencies {
|
||||
|
||||
case $OS_ID in
|
||||
ubuntu|debian)
|
||||
# 检查是否需要更新
|
||||
if ! command -v docker &> /dev/null || ! command -v ip &> /dev/null; then
|
||||
sudo apt-get update
|
||||
fi
|
||||
# 检查 Docker 是否已安装
|
||||
if ! command -v docker &> /dev/null
|
||||
then
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "Installing Docker..."
|
||||
# 更新包索引
|
||||
sudo apt-get update
|
||||
# 安装 Docker
|
||||
sudo apt-get install -y docker.io
|
||||
echo "Docker Installed!"
|
||||
else
|
||||
echo "Docker Installed, $(docker --version)"
|
||||
fi
|
||||
;;
|
||||
centos)
|
||||
# sudo yum update -y
|
||||
# sudo yum install -y epel-release
|
||||
# sudo yum groupinstall -y "Development Tools"
|
||||
# sudo yum install -y yaml-cpp yaml-cpp-devel
|
||||
;;
|
||||
fedora)
|
||||
# sudo dnf update -y
|
||||
# sudo dnf group install -y "Development Tools"
|
||||
# sudo dnf install -y yaml-cpp yaml-cpp-devel
|
||||
fi
|
||||
if ! command -v ip &> /dev/null; then
|
||||
sudo apt-get install -y iproute2
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
failure "Unsupported OS: $OS_ID"
|
||||
@@ -145,31 +118,30 @@ function install_dependencies {
|
||||
function install {
|
||||
install_dependencies
|
||||
if sudo docker pull mengning997/devstar-studio:$VERSION; then
|
||||
sudo docker tag mengning997/devstar-studio:$VERSION devstar.cn/devstar/devstar-studio:$VERSION
|
||||
success "Successfully pulled mengning997/devstar-studio:$VERSION renamed to devstar.cn/devstar/devstar-studio:$VERSION"
|
||||
sudo docker tag mengning997/devstar-studio:$VERSION devstar.cn/devstar/devstar-studio:latest
|
||||
success "Successfully pulled mengning997/devstar-studio:$VERSION renamed to devstar.cn/devstar/devstar-studio:latest"
|
||||
else
|
||||
sudo docker pull devstar.cn/devstar/devstar-studio:$VERSION
|
||||
success "Successfully pulled devstar.cn/devstar/devstar-studio:$VERSION"
|
||||
sudo docker pull devstar.cn/devstar/devstar-studio:latest
|
||||
success "Successfully pulled devstar.cn/devstar/devstar-studio:latest"
|
||||
fi
|
||||
if sudo docker pull mengning997/webterminal:$VERSION; then
|
||||
sudo docker tag mengning997/webterminal:$VERSION devstar.cn/devstar/webterminal:$VERSION
|
||||
success "Successfully pulled mengning997/webterminal:$VERSION renamed to devstar.cn/devstar/webterminal:$VERSION"
|
||||
sudo docker tag mengning997/webterminal:$VERSION devstar.cn/devstar/webterminal:latest
|
||||
success "Successfully pulled mengning997/webterminal:$VERSION renamed to devstar.cn/devstar/webterminal:latest"
|
||||
else
|
||||
sudo docker pull devstar.cn/devstar/webterminal:$VERSION
|
||||
success "Successfully pulled devstar.cn/devstar/webterminal:$VERSION"
|
||||
sudo docker pull devstar.cn/devstar/webterminal:latest
|
||||
success "Successfully pulled devstar.cn/devstar/webterminal:latest"
|
||||
fi
|
||||
if sudo docker pull mengning997/act_runner:$VERSION; then
|
||||
sudo docker tag mengning997/act_runner:$VERSION devstar.cn/devstar/act_runner:$VERSION
|
||||
success "Successfully pulled mengning997/act_runner:$VERSION renamed to devstar.cn/devstar/act_runner:$VERSION"
|
||||
sudo docker tag mengning997/act_runner:$VERSION devstar.cn/devstar/act_runner:latest
|
||||
success "Successfully pulled mengning997/act_runner:$VERSION renamed to devstar.cn/devstar/act_runner:latest"
|
||||
else
|
||||
sudo docker pull devstar.cn/devstar/act_runner:$VERSION
|
||||
success "Successfully pulled devstar.cn/devstar/act_runner:$VERSION"
|
||||
sudo docker pull devstar.cn/devstar/act_runner:latest
|
||||
success "Successfully pulled devstar.cn/devstar/act_runner:latest"
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to start
|
||||
function start {
|
||||
ensure_ip_tool
|
||||
if [[ -z "$IMAGE_STR" ]]; then
|
||||
install
|
||||
fi
|
||||
@@ -224,7 +196,7 @@ function stop {
|
||||
sudo docker stop $(docker ps -a --filter "name=$(cat "$CONTAINER_FILE")" -q) && \
|
||||
sudo docker rm -f $(docker ps -a --filter "name=$(cat "$CONTAINER_FILE")" -q)
|
||||
fi
|
||||
rm -rf $CONTAINER_FILE
|
||||
sudo rm -rf $CONTAINER_FILE
|
||||
fi
|
||||
if [ $(docker ps -a --filter "name=^/webterminal-" -q | wc -l) -gt 0 ]; then
|
||||
sudo docker stop $(docker ps -a --filter "name=^/webterminal-" -q) && sudo docker rm -f $(docker ps -a --filter "name=^/webterminal-" -q)
|
||||
@@ -239,7 +211,6 @@ function logs {
|
||||
# 查看devstar-studio容器的运行日志
|
||||
echo "=== 容器日志:$(cat "$CONTAINER_FILE") ==="
|
||||
sudo docker logs $(cat "$CONTAINER_FILE")
|
||||
|
||||
}
|
||||
|
||||
# Function to clean
|
||||
@@ -249,8 +220,7 @@ function clean {
|
||||
DATA_VOLUME=$(cat "$DATA_VOLUME_FILE")
|
||||
read -p "警告:即将永久删除数据卷 $DATA_VOLUME 'YES' 确认: " confirm
|
||||
if [[ "$confirm" == "YES" ]]; then
|
||||
rm -rf $DATA_VOLUME_FILE
|
||||
delete_volume "$DATA_VOLUME"
|
||||
delete_volume "$DATA_VOLUME" && sudo rm -rf "$DATA_VOLUME_FILE"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<a target="_blank" rel="noopener noreferrer" href="https://www.mengning.com.cn"> ©Mengning Software </a>. 2024-2025 All rights reserved.
|
||||
<a target="_blank" rel="noopener noreferrer" href="https://mengning.com.cn"> ©Mengning Software </a>. 2024-2025 All rights reserved.
|
||||
{{if BeianNumber}}
|
||||
<a id="beian" href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer">{{BeianNumber}}</a>
|
||||
{{end}}
|
||||
@@ -8,7 +8,7 @@
|
||||
<div class="ui attached segment">
|
||||
{{template "base/alert" .}}
|
||||
|
||||
<p>{{ctx.Locale.Tr "install.k8s_helper" "https://www.mengning.com/src/devstar/install/install-k8s"}}</p>
|
||||
<p>{{ctx.Locale.Tr "install.k8s_helper" "https://mengning.com.cn/src/devstar"}}</p>
|
||||
|
||||
<form class="ui form" action="{{AppSubUrl}}/" method="post">
|
||||
<!-- Database Settings -->
|
||||
|
||||
Reference in New Issue
Block a user