config.xml 4.15 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description>Hi365 APK Packager</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <com.dabsquared.gitlabjenkins.connection.GitLabConnectionProperty plugin="gitlab-plugin@1.5.13">
      <gitLabConnection>ylhealth</gitLabConnection>
    </com.dabsquared.gitlabjenkins.connection.GitLabConnectionProperty>
    <hudson.model.ParametersDefinitionProperty>
      <parameterDefinitions>
        <hudson.model.ChoiceParameterDefinition>
          <name>BUILD_BRANCH</name>
          <description>APK build env</description>
          <choices class="java.util.Arrays$ArrayList">
            <a class="string-array">
              <string>develop</string>
              <string>master</string>
            </a>
          </choices>
        </hudson.model.ChoiceParameterDefinition>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
  </properties>
  <scm class="hudson.plugins.git.GitSCM" plugin="git@3.12.1">
    <configVersion>2</configVersion>
    <userRemoteConfigs>
      <hudson.plugins.git.UserRemoteConfig>
        <url>https://cm.ylhealth.org/gitlab/YongYue/hi365-app.git</url>
        <credentialsId>3485e854-8389-40e8-8c86-b94e94e91904</credentialsId>
      </hudson.plugins.git.UserRemoteConfig>
    </userRemoteConfigs>
    <branches>
      <hudson.plugins.git.BranchSpec>
        <name>*/${BUILD_BRANCH}</name>
      </hudson.plugins.git.BranchSpec>
    </branches>
    <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
    <submoduleCfg class="list"/>
    <extensions/>
  </scm>
  <assignedNode>Mac_Node1</assignedNode>
  <canRoam>false</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Shell>
      <command>project_path=$(pwd)

app_version=$(grep &apos;version:&apos; ${project_path}/pubspec.yaml | cut -d &apos; &apos; -f2)

current_date=$(date +&quot;%Y%m%d&quot;)

git_short_hash=$(git rev-parse --short HEAD)

# determine build type by git branch
if [ $BUILD_BRANCH == &quot;master&quot; ]
then
   	build_type=&quot;release&quot;
63
    default_doc=&quot;main_uat.dart&quot;
64 65
else
	build_type=&quot;debug&quot;
66
    default_doc=&quot;main_dev.dart&quot;
67 68 69 70
fi

output_path=&quot;${project_path}/build/app/outputs/apk/${build_type}&quot;

71
new_apk_name=&quot;Hi365_SIT_${current_date}_${git_short_hash}.apk&quot;
72 73 74

apk_path=&quot;${output_path}/${new_apk_name}&quot;

75
# build command
76
flutter build apk --${build_type} -t lib/${default_doc}
77 78 79 80 81 82 83 84 85 86

# rename apk name
mv ${output_path}/app-${build_type}.apk ${apk_path}

# deploy
echo &quot;Deploy to APK repository&quot;
scp -i ~/jenkins/jenkins ${apk_path} appuploader@10.57.117.135:~/app/Hi365/${new_apk_name}
</command>
    </hudson.tasks.Shell>
  </builders>
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
  <publishers>
    <hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.35.2">
      <configs>
        <hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
          <configs>
            <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
              <properties>NotifyMessage=Deploy Hi365 IOS done on SIT.</properties>
              <textParamValueOnNewLine>false</textParamValueOnNewLine>
            </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
          </configs>
          <projects>Notify_Group</projects>
          <condition>SUCCESS</condition>
          <triggerWithNoParameters>false</triggerWithNoParameters>
          <triggerFromChildProjects>false</triggerFromChildProjects>
        </hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
      </configs>
    </hudson.plugins.parameterizedtrigger.BuildTrigger>
  </publishers>
105 106 107 108 109 110 111 112 113
  <buildWrappers>
    <hudson.plugins.ws__cleanup.PreBuildCleanup plugin="ws-cleanup@0.37">
      <deleteDirs>false</deleteDirs>
      <cleanupParameter></cleanupParameter>
      <externalDelete></externalDelete>
      <disableDeferredWipeout>false</disableDeferredWipeout>
    </hudson.plugins.ws__cleanup.PreBuildCleanup>
  </buildWrappers>
</project>