config.xml 5.71 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description>Hi365 iOS IPA Packager</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.security.AuthorizationMatrixProperty>
      <inheritanceStrategy class="org.jenkinsci.plugins.matrixauth.inheritance.InheritParentStrategy"/>
      <permission>com.cloudbees.plugins.credentials.CredentialsProvider.View:longmengua</permission>
      <permission>hudson.model.Item.Build:longmengua</permission>
      <permission>hudson.model.Item.Cancel:longmengua</permission>
      <permission>hudson.model.Item.Configure:longmengua</permission>
      <permission>hudson.model.Item.Discover:longmengua</permission>
      <permission>hudson.model.Item.Gitflow:longmengua</permission>
      <permission>hudson.model.Item.Read:longmengua</permission>
      <permission>hudson.model.Item.Workspace:longmengua</permission>
    </hudson.security.AuthorizationMatrixProperty>
18 19 20 21 22 23 24 25
    <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.StringParameterDefinition>
          <name>Version_Number</name>
          <description></description>
26
          <defaultValue>V0.0.0</defaultValue>
27 28 29 30
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
31 32 33 34 35 36 37 38
    <jenkins.model.BuildDiscarderProperty>
      <strategy class="hudson.tasks.LogRotator">
        <daysToKeep>1</daysToKeep>
        <numToKeep>5</numToKeep>
        <artifactDaysToKeep>-1</artifactDaysToKeep>
        <artifactNumToKeep>-1</artifactNumToKeep>
      </strategy>
    </jenkins.model.BuildDiscarderProperty>
39
  </properties>
40
  <scm class="hudson.plugins.git.GitSCM" plugin="git@4.0.0">
41 42 43 44 45 46 47 48 49
    <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>
50
        <name>develop</name>
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
      </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>
66
      <command>export FLUTTER_ROOT=&quot;/Users/jenkins/flutter&quot;
67 68 69 70 71 72 73 74 75 76 77 78 79

project_path=$(pwd)

cd $project_path/ios

now=$(date +&quot;%Y_%m_%d_%H:%M&quot;)

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

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

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

80
ipa_name=&quot;Hi365_SIT_${current_date}_${version_number}_${git_short_hash}.ipa&quot;
81

82
ipa_full_path=&quot;${$project_path}/ios/Hi365_SIT_${current_date}_${Version_Number}_${git_short_hash}.ipa&quot;
83

84 85 86
# Temporarily change xcode versino for fastlane
fastlane run xcversion version:&quot;11&quot;

87 88 89 90 91 92 93
# build ips
fastlane sit

# rename ipa to a identified one
mv Runner.ipa ${ipa_name}

# deploy
94
echo &quot;Deploy to IPA repository&quot;
95
scp -i ~/jenkins/jenkins ${ipa_full_path} appuploader@10.57.117.135:~/app/Hi365/${ipa_name}</command>
96 97 98
    </hudson.tasks.Shell>
  </builders>
  <publishers>
99
    <hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.36">
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
      <configs>
        <hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
          <configs>
            <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
              <properties>NotifyMessage=Deploy Hi365 IOS  done in 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>
        <hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
          <configs>
            <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
116
              <properties>NotifyMessage=Deploy Hi365 IOS  Failure in SIT fail. Please check it.</properties>
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
              <textParamValueOnNewLine>false</textParamValueOnNewLine>
            </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
          </configs>
          <projects>Notify_Group</projects>
          <condition>UNSTABLE_OR_WORSE</condition>
          <triggerWithNoParameters>false</triggerWithNoParameters>
          <triggerFromChildProjects>false</triggerFromChildProjects>
        </hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
      </configs>
    </hudson.plugins.parameterizedtrigger.BuildTrigger>
  </publishers>
  <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>