Compare commits

...

1 Commits

Author SHA1 Message Date
yystopf 1b62854dca 软件工厂部署脚本 2025-08-25 14:55:30 +08:00
13 changed files with 433 additions and 75 deletions

277
action.sql Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1,14 +1,10 @@
author=yystopf
authorEmail=yystopf@163.com
actionOrg=auto_actions
adminAutologinTrustie=1158fea8e2a39bacde8243fa84f70704777004ba
forgeDomain=http://172.20.32.201:4000
forgeDatabaseHost=172.20.32.201
forgeDatabasePort=3306
forgeDatabaseUsername=root
forgeDatabasePassword=gitlinK#%01
forgeDatabase=forgeplus
pushRepositoryPrefix=http://yystopf:a19960425@172.20.32.201:10082
giteaDomain=http://172.20.32.201:10082
localIP=http://172.20.32.201
adminAutologinTrustie=189329ab21ec01c694c5dc09ded4ba601cf3d482
forgeDomain=http://172.20.32.208:4000
pmsDomain=http://172.20.32.208:8000
pushRepositoryPrefix=http://innov:12345678@172.20.32.208:3000
giteaDomain=http://172.20.32.208:3000
localIP=http://172.20.32.208
staticServerPort=81

BIN
nginx-arm.tar Normal file

Binary file not shown.

@ -1 +1 @@
Subproject commit 692973e3d937129bcbf40652eb9f2f61becf3332
Subproject commit f798d6dc9294d9c33be862758a9e03b33b5fc6a1

@ -1 +1 @@
Subproject commit eb6308df8003bd1c0606b477b0ca23ff7939a491
Subproject commit 26d24036bc7e8039690dc3aed6352b0f70f64e23

@ -1 +1 @@
Subproject commit dd85d99b39a8d0f292183489c0de4822f188e178
Subproject commit 6107ff42f4e7d9ec22a16bb79a19abb7e1a37cbc

@ -1 +1 @@
Subproject commit 5324fa469527bb1c6dbb5b4e6df45f55e6fc63b4
Subproject commit bce37e4ec2020d32f8b9b7e58d9e304dec86c430

@ -1 +1 @@
Subproject commit b955dae351b544b1acc6a0a678da4d486b8bb5f6
Subproject commit 9b8ef236f0bc800c0d2c502da2ae2979fbb0c7c6

@ -1 +1 @@
Subproject commit c0cd5dd80a59186bd9af50cf120296e19052e225
Subproject commit 4fe33c20d9beadd497e90a99a07ddb7cbc1a3a91

@ -1 +1 @@
Subproject commit f774f860562cdd3de5bd035d2a11280cdaad0455
Subproject commit f2b7eb7bc38dc88152874c11be2b56b4190c9da2

201
start.sh
View File

@ -4,6 +4,7 @@ origin_path=`pwd`
env=$1
actionOrg=""
OS=$(uname)
auto_slash=""
@ -45,22 +46,34 @@ check_package() {
exit
}
check_build_exists() {
docker image inspect "my-static:latest" > /dev/null 2>&1
return $?
}
start_static_server() {
echo "开始构建静态资源服务镜像"
cd $origin_path
docker build -t my-static .
# 检查上一个命令的退出状态
if [ $? -eq 0 ]; then
echo "构建静态资源服务镜像成功。"
docker run --name my-action-static -d -p $staticServerPort:81 -v $auto_slash$origin_path/data:/usr/share/nginx/data my-static
# 检查容器是否实际在运行
if docker ps --format "{{.Names}}" | grep -q my-action-static; then
echo "构建静态资源服务正在运行。"
else
echo "构建静态资源服务没有运行。"
fi
if check_build_exists; then
echo "✅ Image $my-static:latest exists"
else
echo "构建静态资源服务镜像失败。"
echo "⚠️ Image my-static:latest not found"
docker build -t my-static .
# 验证构建是否成功
if check_build_exists; then
echo "🎉 Image built successfully"
else
echo "❌ Failed to build image my-static:latest" >&2
exit 1
fi
fi
docker run --name my-action-static -d -p $staticServerPort:81 -v $auto_slash$origin_path/data:/usr/share/nginx/data my-static
# 检查容器是否实际在运行
if docker ps --format "{{.Names}}" | grep -q my-action-static; then
echo "构建静态资源服务正在运行。"
else
echo "构建静态资源服务没有运行。"
fi
}
@ -84,7 +97,7 @@ create_organization() {
response=$(curl --location --request POST ${forgeDomain}/api/organizations.json \
--header "Cookie: autologin_trustie=${adminAutologinTrustie}" \
--header "Content-Type: application/json" \
--data-raw "{
--data "{
\"image\": \"data:image/png;base64,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\",
\"description\": \"${actionOrg}\",
\"name\": \"${actionOrg}\",
@ -93,23 +106,55 @@ create_organization() {
}")
if echo "$response" | grep -q '{"id":'; then
actionOrgID=$(echo "$response" | sed -n 's/.*"id":\([0-9]*\).*/\1/p')
echo "创建 $actionOrg 组织成功。"
response=$(curl --location --request POST ${pmsDomain}/api/pms/pmsEnterprise/createByGitlinkOrgId/${actionOrgID} \
--header "Cookie: autologin_trustie=${adminAutologinTrustie}" \
--header "Content-Type: application/json" \
--data "[{
\"roleKey\": \"pms_org_admin\",
\"userId\": 1
}]")
if echo "$response" |grep -q '{"code":200'; then
echo ""创建 $actionOrg 组织成功。""
else
echo "创建 $actionOrg 组织失败。"
fi
else
echo "创建 $actionOrg 组织失败。"
fi
}
create_one_repository() {
echo "开始创建 $1 项目"
if curl --location --request POST ${forgeDomain}/api/projects.json \
create_pms_project() {
echo "开始创建项目管理项目"
response=$(curl --location --request POST ${pmsDomain}/api/pms/${actionOrg}/pmsProject \
--header "Cookie: autologin_trustie=${adminAutologinTrustie}" \
--header "Content-Type: application/json" \
--data-raw "{
--data "{
\"projectName\": \"actions\",
\"projectAssigneeId\": \"1\",
\"startTime\": \"2024-08-15T00:00:00\",
\"endTime\": \"2025-08-15T23:59:59\"
}")
echo $response
if echo "$response" | grep -q '{"msg":"操作成功"'; then
pmsProjectId=$(echo "$response" | sed -n 's/.*"data":\([0-9]*\).*/\1/p')
echo "创建项目成功。"
elsete_organization
echo "创建项目失败。"
fi
}
create_one_repository() {
echo "开始创建 $1 项目"
if curl --location --request POST ${pmsDomain}/api/pms/${actionOrg}/pmsProjectRepository/addRepository \
--header "Cookie: autologin_trustie=${adminAutologinTrustie}" \
--header "Content-Type: application/json" \
--data "{
\"user_id\": \"${actionOrgID}\",
\"name\": \"${1}\",
\"repository_name\": \"${1}\"
}" | grep -q '{"id":'; then
\"pms_project_id\": \"${pmsProjectId}\",
\"private\": \"false\",
\"repository_name\": \"${1}\",
\"name\": \"${1}\"
}" | grep -q '{"msg":"操作成功"'; then
echo "创建 $1 项目成功。"
else
echo "创建 $1 项目失败。"
@ -121,14 +166,27 @@ create_repository() {
if [ "$actionOrgID" = "" ]; then
exit
else
create_one_repository checkout
create_one_repository go-versions
create_one_repository node-versions
create_one_repository python-versions
create_one_repository setup-go
create_one_repository setup-java
create_one_repository setup-node
create_one_repository setup-python
create_pms_project
if [ "$pmsProjectId" = ""]; then
exit
else
create_one_repository checkout
create_one_repository go-versions
create_one_repository log_match_action
create_one_repository node-versions
create_one_repository publish-releases-action
create_one_repository python-versions
create_one_repository run_pipeline_action
create_one_repository scp-action
create_one_repository setup-cpp
create_one_repository setup-go
create_one_repository setup-java
create_one_repository setup-maven
create_one_repository setup-node
create_one_repository setup-python
create_one_repository ssh-action
create_one_repository upload-artifact-zpk
fi
fi
}
@ -137,7 +195,7 @@ changeDefaultBranch() {
if curl --location --request PUT ${forgeDomain}/api/${actionOrg}/$1.json \
--header "Cookie: autologin_trustie=${adminAutologinTrustie}" \
--header "Content-Type: application/json" \
--data-raw "{
--data "{
\"default_branch\": \"main\"
}" | grep -q '{"id":'; then
echo "更改 $1 项目的默认分支成功。"
@ -158,8 +216,6 @@ push_repository() {
echo "结束go-versions仓库服务地址替换"
echo "开始进行go-versions仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/go-versions.git main
changeDefaultBranch go-versions
git push --delete $pushRepositoryPrefix/$actionOrg/go-versions.git master
echo "结束go-versions仓库推送"
cd $origin_path/repository/node-versions
@ -173,8 +229,6 @@ push_repository() {
echo "结束node-versions仓库服务地址替换"
echo "开始进行node-versions仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/node-versions.git main
changeDefaultBranch node-versions
git push --delete $pushRepositoryPrefix/$actionOrg/node-versions.git master
echo "结束node-versions仓库推送"
cd $origin_path/repository/python-versions
@ -188,24 +242,66 @@ push_repository() {
echo "结束python-versions仓库服务地址替换"
echo "开始进行python-versions仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/python-versions.git main
changeDefaultBranch python-versions
git push --delete $pushRepositoryPrefix/$actionOrg/python-versions.git master
echo "结束go-versions仓库推送"
cd $origin_path/repository/checkout
echo "开始进行checkout仓库推送"
git push -u $pushRepositoryPrefix/$actionOrg/checkout.git --all
git push -u $pushRepositoryPrefix/$actionOrg/checkout.git --tags
changeDefaultBranch checkout
git push --delete $pushRepositoryPrefix/$actionOrg/checkout.git master
git push -uf $pushRepositoryPrefix/$actionOrg/checkout.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/checkout.git --tags
echo "结束checkout仓库推送"
cd $origin_path/repository/log_match_action
echo "开始进行log_match_action仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/log_match_action.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/log_match_action.git --tags
echo "结束log_match_action仓库推送"
cd $origin_path/repository/publish-releases-action
echo "开始进行publish-releases-action仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/publish-releases-action.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/publish-releases-action.git --tags
echo "结束publish-releases-action仓库推送"
cd $origin_path/repository/run_pipeline_action
echo "开始进行run_pipeline_action仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/run_pipeline_action.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/run_pipeline_action.git --tags
echo "结束run_pipeline_action仓库推送"
cd $origin_path/repository/upload-artifact-zpk
echo "开始进行upload-artifact-zpk仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/upload-artifact-zpk.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/upload-artifact-zpk.git --tags
echo "结束upload-artifact-zpk仓库推送"
cd $origin_path/repository/scp-action
echo "开始进行scp-action仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/scp-action.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/scp-action.git --tags
echo "结束scp-action仓库推送"
cd $origin_path/repository/ssh-action
echo "开始进行ssh-action仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/ssh-action.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/ssh-action.git --tags
echo "结束ssh-action仓库推送"
cd $origin_path/repository/setup-cpp
echo "开始进行setup-cpp仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/setup-cpp.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/setup-cpp.git --tags
echo "结束setup-cpp"
cd $origin_path/repository/setup-maven
echo "开始进行setup-maven仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/setup-maven.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/setup-maven.git --tags
echo "结束setup-maven"
cd $origin_path/repository/setup-java
echo "开始进行setup-java仓库推送"
git push -u $pushRepositoryPrefix/$actionOrg/setup-java.git --all
git push -u $pushRepositoryPrefix/$actionOrg/setup-java.git --tags
changeDefaultBranch setup-java
git push --delete $pushRepositoryPrefix/$actionOrg/setup-java.git master
git push -uf $pushRepositoryPrefix/$actionOrg/setup-java.git --all
git push -uf $pushRepositoryPrefix/$actionOrg/setup-java.git --tags
echo "结束setup-java仓库推送"
cd $origin_path/repository/setup-go
@ -220,8 +316,6 @@ push_repository() {
echo "结束setup-go仓库服务地址替换"
echo "开始进行setup-go仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/setup-go.git main
changeDefaultBranch setup-go
git push --delete $pushRepositoryPrefix/$actionOrg/setup-go.git master
echo "结束setup-go仓库推送"
cd $origin_path/repository/setup-node
@ -235,9 +329,7 @@ push_repository() {
git commit -m "auto更改服务地址"
echo "结束setup-node仓库服务地址替换"
echo "开始进行setup-node仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/setup-node.git main
changeDefaultBranch setup-node
git push --delete $pushRepositoryPrefix/$actionOrg/setup-node.git master
git push -uf $pushRepositoryPrefix/$actionOrg/setup-node.git master
echo "结束setup-node仓库推送"
cd $origin_path/repository/setup-python
@ -252,8 +344,6 @@ push_repository() {
echo "结束setup-python仓库服务地址替换"
echo "开始进行setup-python仓库推送"
git push -uf $pushRepositoryPrefix/$actionOrg/setup-python.git main
changeDefaultBranch setup-python
git push --delete $pushRepositoryPrefix/$actionOrg/setup-python.git master
echo "结束setup-python仓库推送"
}
@ -271,8 +361,6 @@ show_help() {
echo " check_static_server, 检查静态资源服务"
echo " create_repository, 创建actions相关的仓库"
echo " push_repository, 推送修改过地址的commit到仓库"
echo " import_node_data, 导入节点数据"
}
@ -303,10 +391,7 @@ case "$2" in
"push_repository")
push_repository
;;
"import_node_data")
import_node_data
;;
*)
show_help
;;
esac
esac