lith %!s(int64=3) %!d(string=hai) anos
pai
achega
d2d35bf548

+ 19 - 27
Publish/DevOps/20.docker-build.sh

@@ -1,43 +1,37 @@
 set -e
 
-# bash 20.docker-build.sh
 
+#---------------------------------------------------------------------
+#(x.1)参数
+args_="
 
-#(x.1)当前路径 
-curWorkDir=$PWD
-curPath=$(dirname $0)
-
-cd $curPath/../..
-codePath=$PWD
-# codePath=/root/docker/jenkins/workspace/filezip/svn
-
+export codePath=/root/docker/jenkins/workspace/sqler/svn 
 
- 
-# export DOCKER_USERNAME=serset
-# export DOCKER_PASSWORD=xxx
-export name=filezip
-export projectPath='FileZip'
 
 
+export version=`grep '<Version>' ${codePath} -r --include *.csproj | grep -oP '>(.*)<' | tr -d '<>'`
 
+export name=sqler
+export projectPath=Sqler
 
-echo "(x.2)get version" 
-version=`grep '<Version>' ${codePath} -r --include *.csproj | grep -o '[0-9][0-9\.]\+'`
-# echo $version
+export DOCKER_USERNAME=serset
+export DOCKER_PASSWORD=xxx
 
+# "
 
+ 
 
 
-tag=$version
-echo "(x.3)发布项目 $name:$tag"
+#---------------------------------------------------------------------
+echo "(x.2)dotnet-构建并发布项目文件"
 
 docker run -i --rm \
 --env LANG=C.UTF-8 \
 -v $codePath:/root/code \
 serset/dotnet:6.0-sdk \
 bash -c "
-cd '/root/code/$projectPath'; 
-dotnet build --configuration Release; 
+cd '/root/code/$projectPath'
+dotnet build --configuration Release
 dotnet publish --configuration Release --output '/root/code/Publish/06.Docker/制作镜像/$name/app' " 
 
 
@@ -45,7 +39,7 @@ dotnet publish --configuration Release --output '/root/code/Publish/06.Docker/
 
 
 #---------------------------------------------------------------------
-#(x.4.1)初始化构建器
+#(x.3.1)docker-初始化多架构构建器
 
 #启用 buildx 插件
 export DOCKER_CLI_EXPERIMENTAL=enabled
@@ -72,12 +66,11 @@ docker buildx ls
 
 
 #---------------------------------------------------------------------
-#(x.4.2)构建多架构镜像( arm、arm64 和 amd64 )并推送到 Docker Hub
+#(x.3.2)docker-构建多架构镜像( arm、arm64 和 amd64 )并推送到 Docker Hub
 
 docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
 
-cd $codePath/Publish/06.Docker/制作镜像/$name
-docker buildx build . -t $DOCKER_USERNAME/$name:$tag -t $DOCKER_USERNAME/$name --platform=linux/amd64,linux/arm64,linux/arm/v7 --push
+docker buildx build $codePath/Publish/06.Docker/制作镜像/$name -t $DOCKER_USERNAME/$name:$tag -t $DOCKER_USERNAME/$name --platform=linux/amd64,linux/arm64,linux/arm/v7 --push
  
 
 
@@ -86,7 +79,6 @@ docker buildx build . -t $DOCKER_USERNAME/$name:$tag -t $DOCKER_USERNAME/$name -
  
 
 
-#(x.5)
-cd $curWorkDir
+
 
  

+ 26 - 25
Publish/DevOps/90.release-build.sh

@@ -1,56 +1,58 @@
 set -e
 
-# bash 30.release-build.sh
 
+#---------------------------------------------------------------------
+#(x.1)参数
+args_="
 
+export codePath=/root/docker/jenkins/workspace/sqler/svn 
 
-#(x.1)当前路径 
-curWorkDir=$PWD
-curPath=$(dirname $0)
 
-cd $curPath/../..
-codePath=$PWD
-# codePath=/root/docker/jenkins/workspace/filezip/svn
 
+export version=`grep '<Version>' ${codePath} -r --include *.csproj | grep -oP '>(.*)<' | tr -d '<>'`
 
-# export GIT_SSH_SECRET=xxxxxx
-export name=filezip
+export name=sqler
 
+export export GIT_SSH_SECRET=xxxxxx
 
-echo "(x.2)get version" 
-version=`grep '<Version>' ${codePath} -r --include *.csproj | grep -o '[0-9][0-9\.]\+'`
-# echo $version
+# "
 
+ 
 
 
 
 #----------------------------------------------
-echo "(x.2)构建最终文件夹"
-mkdir -p $codePath/Publish/release
+echo "(x.2.1)发布文件-创建文件夹及内容"
 mkdir -p $codePath/Publish/git
+mkdir -p $codePath/Publish/release
 
 cp -rf  $codePath/Publish/04.服务站点 $codePath/Publish/release/04.服务站点
 cp -rf  $codePath/Publish/06.Docker $codePath/Publish/release/06.Docker
 cp -rf  $codePath/Publish/06.Docker/制作镜像/${name}/app $codePath/Publish/release/04.服务站点/${name}
 
- 
+
+echo "(x.2.3)发布文件-压缩" 
 docker run --rm -i \
 -v $codePath/Publish:/root/file \
-serset/filezip dotnet FileZip.dll zip -i /root/file/release -o /root/file/git/${name}${version}.zip
+serset/filezip dotnet FileZip.dll zip -i /root/file/release -o /root/file/git/${name}-${version}.zip
 
  
 
+
+
+
+
+
 #----------------------------------------------
-echo "(x.3)提交release文件到github"
-# releaseFile=$codePath/Publish/git/${name}${version}.zip
+echo "(x.3)github-提交release文件到release仓库"
+# releaseFile=$codePath/Publish/git/${name}-${version}.zip
 
 #复制ssh key
-cd $codePath/Publish
 echo "${GIT_SSH_SECRET}" > $codePath/Publish/git/serset
 chmod 600 $codePath/Publish/git/serset
 
 #推送到github
-docker run -i --rm -v $PWD/git:/root/git serset/git-client bash -c " \
+docker run -i --rm -v $codePath/Publish/git:/root/git serset/git-client bash -c " \
 set -e
 ssh-agent bash -c \"
 ssh-add /root/git/serset
@@ -61,15 +63,14 @@ mkdir -p /root/code
 cd /root/code
 git clone git@github.com:serset/release.git /root/code
 mkdir -p /root/code/file/${name}
-cp /root/git/${name}${version}.zip /root/code/file/${name}
-git add file/${name}/${name}${version}.zip
-git commit  -m  'auto commit ${version}'
+cp /root/git/${name}-${version}.zip /root/code/file/${name}
+git add file/${name}/${name}-${version}.zip
+git commit -m 'auto commit ${version}'
 git push -u origin master \" "
 
 
 
 
-#(x.5)
-cd $curWorkDir
 
  
+ 

+ 48 - 0
Publish/DevOps/91.release-github.sh

@@ -0,0 +1,48 @@
+set -e
+
+
+#---------------------------------------------------------------------
+#(x.1)参数
+args_="
+
+export codePath=/root/docker/jenkins/workspace/sqler/svn 
+
+
+
+export version=`grep '<Version>' ${codePath} -r --include *.csproj | grep -oP '>(.*)<' | tr -d '<>'`
+
+export name=sqler
+
+# "
+
+
+ 
+
+
+#---------------------------------------------------------------------
+#(x.2)初始化github release环境变量
+# releaseFile=$codePath/Publish/git/${name}-${version}.zip
+
+filePath="$codePath/Publish/git/${name}-${version}.zip"
+#name=Vit.Library
+#version=2.5
+
+
+
+fileType="${filePath##*.}"
+echo "release_name=${name}-${version}" >> $GITHUB_ENV
+echo "release_tag=${version}" >> $GITHUB_ENV
+
+echo "release_draft=false" >> $GITHUB_ENV
+echo "release_prerelease=false" >> $GITHUB_ENV
+
+echo "release_body=" >> $GITHUB_ENV
+
+echo "release_assetPath=${filePath}" >> $GITHUB_ENV
+echo "release_assetName=${name}-${version}.${fileType}" >> $GITHUB_ENV
+echo "release_contentType=application/${fileType}" >> $GITHUB_ENV
+
+
+
+
+ 

+ 56 - 2
Publish/DevOps/startup.sh

@@ -1,5 +1,59 @@
 set -e
 
-sh 20.docker-build.sh
+#----------------------------------------------
+#(x.1)当前路径 
+curWorkDir=$PWD
 
-sh 90.release-build.sh
+cd $curWorkDir/../..
+export codePath=$PWD
+cd $curWorkDir
+
+
+export name=filezip
+export projectPath=FileZip
+
+
+#export DOCKER_USERNAME=serset
+#export DOCKER_PASSWORD=xxx
+
+#export NUGET_SERVER=https://api.nuget.org/v3/index.json
+#export NUGET_KEY=xxxxxxxxxx
+
+#export export GIT_SSH_SECRET=xxxxxx
+
+
+
+
+
+
+#----------------------------------------------
+echo "(x.2)get version" 
+export version=`grep '<Version>' ${codePath} -r --include *.csproj | grep -oP '>(.*)<' | tr -d '<>'`
+# echo $version
+
+
+
+
+
+
+
+#----------------------------------------------
+echo "(x.3)自动发布 $name-$version"
+
+for file in *.sh
+do
+    if [[ $file != "startup.sh" ]]
+    then
+        sh $file
+    fi
+done
+
+
+
+
+
+
+ 
+#----------------------------------------------
+#(x.9)
+#cd $curWorkDir