running git lfs clone

pull/218/head
mdugdale 2021-02-14 19:14:41 +00:00
parent 55ad8231f1
commit ff8fb25398
3 changed files with 71 additions and 24 deletions

File diff suppressed because one or more lines are too long

View File

@ -48,10 +48,19 @@ Parameters:
EFSMountDirectory: EFSMountDirectory:
Type: String Type: String
Default: /efsdata Default: /efsdata
SecretName: GitHubTokenSecret:
Type: String Type: String
Default: 'Secret' Default: 'Secret'
SecretValue: UnityLicenseSecret:
Type: String
Default: 'Secret'
AndroidKeystoreBase64Secret:
Type: String
Default: 'Secret'
AndroidKeystorePassSecret:
Type: String
Default: 'Secret'
AndroidKeystoreAliasSecret:
Type: String Type: String
Default: '' Default: ''
Mappings: Mappings:
@ -100,11 +109,31 @@ Resources:
Metadata: Metadata:
'AWS::CloudFormation::Designer': 'AWS::CloudFormation::Designer':
id: c6f18447-b879-4696-8873-f981b2cedd2b id: c6f18447-b879-4696-8873-f981b2cedd2b
Secret: GitHubTokenSecret:
Type: AWS::SecretsManager::Secret Type: AWS::SecretsManager::Secret
Properties: Properties:
Name: !Ref SecretName Name: GitHubTokenSecret
SecretString: !Ref SecretValue SecretString: !Ref GitHubTokenSecret
UnityLicenseSecret:
Type: AWS::SecretsManager::Secret
Properties:
Name: UnityLicenseSecret
SecretString: !Ref UnityLicenseSecret
AndroidKeystoreBase64Secret:
Type: AWS::SecretsManager::Secret
Properties:
Name: AndroidKeystoreBase64Secret
SecretString: !Ref AndroidKeystoreBase64Secret
AndroidKeystorePassSecret:
Type: AWS::SecretsManager::Secret
Properties:
Name: AndroidKeystorePassSecret
SecretString: !Ref AndroidKeystorePassSecret
AndroidKeystoreAliasSecret:
Type: AWS::SecretsManager::Secret
Properties:
Name: AndroidKeystoreAliasSecret
SecretString: !Ref AndroidKeystoreAliasSecret
TaskDefinition: TaskDefinition:
Type: 'AWS::ECS::TaskDefinition' Type: 'AWS::ECS::TaskDefinition'
Properties: Properties:
@ -149,8 +178,18 @@ Resources:
ContainerPath: !Ref EFSMountDirectory ContainerPath: !Ref EFSMountDirectory
ReadOnly: false ReadOnly: false
Secrets: Secrets:
- Name: !Ref SecretName - Name: GitHubTokenSecret
ValueFrom: !Ref Secret ValueFrom: !Ref GitHubTokenSecret
- Name: UnityLicenseSecret
ValueFrom: !Ref UnityLicenseSecret
- Name: !Ref AndroidKeystoreBase64Secret
ValueFrom: !Ref AndroidKeystoreBase64Secret
- Name: AndroidKeystorePassSecret
ValueFrom: !Ref AndroidKeystorePassSecret
- Name: AndroidKeystorePassSecret
ValueFrom: !Ref AndroidKeystorePassSecret
- Name: AndroidKeystoreAliasSecret
ValueFrom: !Ref AndroidKeystoreAliasSecret
LogConfiguration: LogConfiguration:
LogDriver: awslogs LogDriver: awslogs
Options: Options:

View File

@ -20,11 +20,13 @@ class AWS {
'-c', '-c',
`apk update; `apk update;
apk add git-lfs; apk add git-lfs;
apk add jq;
ls; ls;
git clone https://github.com/${process.env.GITHUB_REPOSITORY}.git $BUILD_ID/repo; git clone https://github.com/${process.env.GITHUB_REPOSITORY}.git $BUILD_ID/repo;
git clone https://github.com/webbertakken/unity-builder.git $BUILD_ID/builder; git clone https://github.com/webbertakken/unity-builder.git $BUILD_ID/builder;
cd $BUILD_ID/repo; cd $BUILD_ID/repo;
git checkout $GITHUB_SHA; git checkout $GITHUB_SHA;
echo $Secrets | base64 --decode | jq '.[]' |
`], `],
'/data', '/data',
'/data/', '/data/',
@ -45,7 +47,7 @@ class AWS {
baseImage.toString(), baseImage.toString(),
['/bin/sh'], ['/bin/sh'],
['-c', ` ['-c', `
cat $
cp -r /data/$BUILD_ID/builder/action/default-build-script /UnityBuilderAction; cp -r /data/$BUILD_ID/builder/action/default-build-script /UnityBuilderAction;
cp -r /data/$BUILD_ID/builder/action/entrypoint.sh /entrypoint.sh; cp -r /data/$BUILD_ID/builder/action/entrypoint.sh /entrypoint.sh;
cp -r /data/$BUILD_ID/builder/action/steps /steps; cp -r /data/$BUILD_ID/builder/action/steps /steps;
@ -107,16 +109,26 @@ class AWS {
}, },
], ],
[ [
{name: 'GITHUB_TOKEN', {
value: buildParameters.githubToken,}, ParameterKey: 'GITHUB_TOKEN',
{name: 'UNITY_LICENSE', ParameterValue: buildParameters.githubToken
value: process.env.UNITY_LICENSE,}, },
{name: 'ANDROID_KEYSTORE_BASE64', {
value: buildParameters.androidKeystoreBase64,}, ParameterKey: 'UNITY_LICENSE',
{name: 'ANDROID_KEYSTORE_PASS', ParameterValue: process.env.UNITY_LICENSE
value: buildParameters.androidKeystorePass,}, },
{name: 'ANDROID_KEYALIAS_PASS', {
value: buildParameters.androidKeyaliasPass,}, ParameterKey: 'ANDROID_KEYSTORE_BASE64',
ParameterValue: buildParameters.androidKeystoreBase64
},
{
ParameterKey: 'ANDROID_KEYSTORE_PASS',
ParameterValue: buildParameters.androidKeystorePass
},
{
ParameterKey: 'ANDROID_KEYALIAS_PASS',
ParameterValue: buildParameters.androidKeyaliasPass
},
] ]
); );
} }
@ -165,12 +177,8 @@ class AWS {
{ {
ParameterKey: 'SecretName', ParameterKey: 'SecretName',
ParameterValue: 'Secrets'+nanoid(), ParameterValue: 'Secrets'+nanoid(),
},
{
ParameterKey: 'SecretValue',
ParameterValue: Buffer.from(JSON.stringify(secrets)).toString('base64'),
} }
], ].concat(secrets),
}).promise(); }).promise();
await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise(); await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();