Commit 256bc38b by 据说甜蜜呢

优化脚本

parent 2c531502
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
set -e set -e
# Import external functions # Import external functions
chmod +x ./devops/PipeLines/functions.sh chmod +x ./devops/PipeLines/Functions.deploy.sh
./devops/PipeLines/functions.sh source ./devops/PipeLines/Functions.deploy.sh
GetAppName appName GetAppName appName
echo "Continuous integration for ${appName} starting..." echo "Continuous integration for ${appName} starting..."
...@@ -15,54 +15,26 @@ then ...@@ -15,54 +15,26 @@ then
echo "" echo ""
echo "Tips: No services need to be cied." echo "Tips: No services need to be cied."
else else
declare solutionName=($(grep -oP '(?<=SolutionName>)[^<]+' "devops/app.props")) echo ""
echo "${appName} building..."
GetSolutionName solutionName
dotnet build ${solutionName} dotnet build ${solutionName}
echo "Please check the version of each microservice carefully !!!" GetRegistryHost RegistryHost
declare major=($(grep -oP '(?<=VersionMajor>)[^<]+' "build/version.props")) for servicePrefix in `ls ./src/Services|xargs -d '/'`
declare minor=($(grep -oP '(?<=VersionMinor>)[^<]+' "build/version.props")) do
declare patch=($(grep -oP '(?<=VersionPatch>)[^<]+' "build/version.props")) IsPublishableOf ${servicePrefix} isPublishable
declare version=${major}.${minor}.${patch} GetServiceName ${servicePrefix} serviceName
if [ "${isPublishable}" == "1" ];
declare registryUserName=($(grep -oP '(?<=ImageUserName>)[^<]+' "build/deploy.props"))
declare publishOutputDir=./publish
rm -fr ${publishOutputDir}
mkdir -p ${publishOutputDir}
function CI()
{
declare publishable=$1
declare imagename=$2
echo ""
if [ "${publishable}" == "1" ];
then then
declare imagefullname=${RegistryHost}/${registryUserName}/${imagename}:${version} echo ""
declare publishFile=$3 echo "Tips: ${serviceName} begin integrating to image registry!!!"
GetServiceCsProjFile ${servicePrefix} ${serviceName} serviceCsProjFile
echo "begin delivery of master branch for ${imagename}..." CI ${serviceName} ${serviceCsProjFile}
mkdir -p ${publishOutputDir}/${imagename}
dotnet publish ${publishFile} -o ../../publish/${imagename} -c release --no-restore
docker build -t ${imagefullname} ${publishOutputDir}/${imagename}
docker push ${imagefullname}
echo "delivery of master branch for ${imagename}:${version} has been successful."
else else
echo "Tips: master branch for ${imagename}:${version} will not be cied!!!" echo ""
echo "Tips: ${serviceName} will not be integrated to image registry!!!"
fi fi
}
declare services=$(ls -l src/services | awk 'NR>1')
declare servicePrefix=""
declare serviceName=""
declare isPublishable="0"
for service in ${services}
do
servicePrefix=($(echo ${service} | awk '{print $9}'))
isPublishable=($(grep -oP "(?<=${servicePrefix}Publishable>)[^<]+" "/tmp/cicd.props"))
GetServiceName "${servicePrefix}" serviceName
CI ${isPublishable} "${servicePrefix}" "./src/${servicePrefix}/${serviceName}.csproj"
done done
fi fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment