Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: docker/grouper_training
base: 202109
Choose a base ref
...
head repository: docker/grouper_training
compare: 202205
Choose a head ref
Able to merge. These branches can be automatically merged.
  • 15 commits
  • 230 files changed
  • 1 contributor

Commits on Sep 28, 2021

  1. Fix typo in 201.end

    credman committed Sep 28, 2021
    Copy the full SHA
    539a22e View commit details

Commits on Jan 15, 2022

  1. Copy the full SHA
    c3ed4ab View commit details
  2. New branch 202202

    credman committed Jan 15, 2022
    Copy the full SHA
    090c7eb View commit details

Commits on Jan 30, 2022

  1. Fix IDP deprecation warnings; minor container tweaks; add 20x docs

    credman committed Jan 30, 2022
    Copy the full SHA
    01ee272 View commit details

Commits on Feb 13, 2022

  1. Remove rabbitmq

    credman committed Feb 13, 2022
    Copy the full SHA
    ad366d9 View commit details
  2. Install docker-compose in vm

    credman committed Feb 13, 2022
    Copy the full SHA
    eac274a View commit details
  3. Copy the full SHA
    3a43715 View commit details

Commits on Feb 14, 2022

  1. Add a GSH report to 401.1

    credman committed Feb 14, 2022
    Copy the full SHA
    5b0ae6b View commit details

Commits on May 5, 2022

  1. Copy the full SHA
    5ee607e View commit details
  2. Copy the full SHA
    a12eb32 View commit details

Commits on May 6, 2022

  1. Prevent log4j config errors during image build

    credman committed May 6, 2022
    Copy the full SHA
    523e322 View commit details

Commits on May 7, 2022

  1. Copy the full SHA
    8577694 View commit details
  2. Copy the full SHA
    43f93ff View commit details
  3. Copy the full SHA
    1045a21 View commit details

Commits on May 8, 2022

  1. Add jq and xmlstarlet to student containers

    credman committed May 8, 2022
    Copy the full SHA
    f330dce View commit details
Showing with 2,936 additions and 48,798 deletions.
  1. +21 −236 Jenkinsfile
  2. +44 −0 TODO.md
  3. +2 −1 base/Dockerfile
  4. +29 −17 base/container_files/conf/grouper-loader.properties
  5. +3 −3 base/container_files/conf/grouper.properties
  6. 0 ...ner_files/seed-data/sisData.sql → base/container_files/conf/log4j.grouperContainerHost.properties
  7. +79 −0 base/container_files/conf/log4j2.xml
  8. +6 −2 base/container_files/conf/subject.properties
  9. +0 −16 base/container_files/httpd/rabbitmq.conf
  10. +233 −240 base/container_files/shibboleth-idp/conf/attribute-resolver.xml
  11. +16 −27 base/container_files/var-www-html/index.html
  12. +71 −0 docs/copy-paste-markdown/201.1.1.md
  13. +73 −0 docs/copy-paste-markdown/201.1.2.md
  14. +80 −0 docs/copy-paste-markdown/201.2.md
  15. +101 −0 docs/copy-paste-markdown/201.3.md
  16. +89 −0 docs/copy-paste-markdown/201.4.md
  17. +100 −0 docs/copy-paste-markdown/201.5.md
  18. +95 −0 docs/copy-paste-markdown/401.1.md
  19. +112 −0 docs/copy-paste-markdown/401.2.md
  20. 0 docs/{ → sphinx}/201/201.1.rst
  21. 0 docs/{ → sphinx}/201/201.2.rst
  22. 0 docs/{ → sphinx}/201/201.3.rst
  23. 0 docs/{ → sphinx}/201/201.4.rst
  24. 0 docs/{ → sphinx}/201/201.5.rst
  25. 0 docs/{ → sphinx}/201/examples/201-3-4.pspng-epa.grouper-loader.properties
  26. 0 docs/{ → sphinx}/201/examples/201-3-5.attribute-filter.xml
  27. 0 docs/{ → sphinx}/201/examples/201-4-4.pspng-epe.grouper-loader.properties
  28. 0 docs/{ → sphinx}/201/examples/201-4-5.attribute-filter.xml
  29. 0 docs/{ → sphinx}/201/index.rst
  30. 0 docs/{ → sphinx}/401/401.1.rst
  31. 0 docs/{ → sphinx}/401/401.2.rst
  32. 0 docs/{ → sphinx}/401/401.3.rst
  33. 0 docs/{ → sphinx}/401/401.4-example-solution.rst
  34. 0 docs/{ → sphinx}/401/401.4.rst
  35. 0 docs/{ → sphinx}/401/appendix.rst
  36. 0 docs/{ → sphinx}/401/examples/401.1.3-pspng-config.properties
  37. 0 docs/{ → sphinx}/401/examples/401.2.2-pspng-config.properties
  38. 0 docs/{ → sphinx}/401/examples/401.2.3-general-authn.xml
  39. 0 docs/{ → sphinx}/401/examples/401.2.3-mfa-authn-config.xml
  40. 0 docs/{ → sphinx}/401/examples/401.2.4-athletics-dept.txt
  41. 0 docs/{ → sphinx}/401/examples/401.2.5-banner-netids.txt
  42. 0 docs/{ → sphinx}/401/examples/401.3.2-grouper-loader.properties
  43. 0 docs/{ → sphinx}/401/examples/401.3.2-grouper.client.properties
  44. 0 docs/{ → sphinx}/401/index.rst
  45. 0 docs/{ → sphinx}/Makefile
  46. 0 docs/{ → sphinx}/conf.py
  47. BIN docs/{ → sphinx}/figures/201-add-ref-students.png
  48. BIN docs/{ → sphinx}/figures/201-anna-smith-trace-priv.png
  49. BIN docs/{ → sphinx}/figures/201-anna-smith-trace.png
  50. BIN docs/{ → sphinx}/figures/201-asmith989-attest.png
  51. BIN docs/{ → sphinx}/figures/201-create-students-group.png
  52. BIN docs/{ → sphinx}/figures/201-ePA-attribute-release.png
  53. BIN docs/{ → sphinx}/figures/201-ePA-member-vis.png
  54. BIN docs/{ → sphinx}/figures/201-ePA-member.png
  55. BIN docs/{ → sphinx}/figures/201-ePA-policy-groups.png
  56. BIN docs/{ → sphinx}/figures/201-ePA-pspng-run.png
  57. BIN docs/{ → sphinx}/figures/201-ePA-pspng.png
  58. BIN docs/{ → sphinx}/figures/201-ePE-value.png
  59. BIN docs/{ → sphinx}/figures/201-eduPersonAffiliation-app-template.png
  60. BIN docs/{ → sphinx}/figures/201-fin-report-attest-audit-log.png
  61. BIN docs/{ → sphinx}/figures/201-fin-report-reader.png
  62. BIN docs/{ → sphinx}/figures/201-fin-report-write-audit.png
  63. BIN docs/{ → sphinx}/figures/201-fin-report-writer-attestation.png
  64. BIN docs/{ → sphinx}/figures/201-fin-report-writer.png
  65. BIN docs/{ → sphinx}/figures/201-jsmith-trace.png
  66. BIN docs/{ → sphinx}/figures/201-new-vpn-app.png
  67. BIN docs/{ → sphinx}/figures/201-new-vpn-policy.png
  68. BIN docs/{ → sphinx}/figures/201-priv-grant-fin-mgr.png
  69. BIN docs/{ → sphinx}/figures/201-pspng-entitlements-run-job.png
  70. BIN docs/{ → sphinx}/figures/201-review-priv-fin-mgr.png
  71. BIN docs/{ → sphinx}/figures/201-students-change-of-status.png
  72. BIN docs/{ → sphinx}/figures/201-students-direct-membership.png
  73. BIN docs/{ → sphinx}/figures/201-students-end-date.png
  74. BIN docs/{ → sphinx}/figures/201-students-indirect-membership.png
  75. BIN docs/{ → sphinx}/figures/201-students-visualization.png
  76. BIN docs/{ → sphinx}/figures/201-vpn-access.png
  77. BIN docs/{ → sphinx}/figures/201-vpn-access2.png
  78. BIN docs/{ → sphinx}/figures/201-vpn-allow-audit.png
  79. BIN docs/{ → sphinx}/figures/201-vpn-allow-privileges.png
  80. BIN docs/{ → sphinx}/figures/201-wiki-app.png
  81. BIN docs/{ → sphinx}/figures/201-wiki-policy.png
  82. BIN docs/{ → sphinx}/figures/201-wiki-user-pspng.png
  83. BIN docs/{ → sphinx}/figures/401-banderson-mfa-enabled.png
  84. BIN docs/{ → sphinx}/figures/401-board-effect-ann-admin-priv.png
  85. BIN docs/{ → sphinx}/figures/401-board-effect-ann-privs.png
  86. BIN docs/{ → sphinx}/figures/401-board-effect-ann-updated-privs.png
  87. BIN docs/{ → sphinx}/figures/401-board-effect-app.png
  88. BIN docs/{ → sphinx}/figures/401-board-effect-final-privs.png
  89. BIN docs/{ → sphinx}/figures/401-board-effect-finance-committee.png
  90. BIN docs/{ → sphinx}/figures/401-board-effect-finance-privs-admin.png
  91. BIN docs/{ → sphinx}/figures/401-board-effect-my-groups.png
  92. BIN docs/{ → sphinx}/figures/401-board-effect-rabbitmq.png
  93. BIN docs/{ → sphinx}/figures/401-board-effect-ref-board-privs.png
  94. BIN docs/{ → sphinx}/figures/401-board-effect-trace-ann-updaters.png
  95. BIN docs/{ → sphinx}/figures/401-board-effect-workroom-helpers.png
  96. BIN docs/{ → sphinx}/figures/401-board-effect-workroom.png
  97. BIN docs/{ → sphinx}/figures/401-bsmith458-trace-membership.png
  98. BIN docs/{ → sphinx}/figures/401-bsmith458-trace.png
  99. BIN docs/{ → sphinx}/figures/401-ldap-loader-diag.png
  100. BIN docs/{ → sphinx}/figures/401-ldap-loader-logs.png
  101. BIN docs/{ → sphinx}/figures/401-legacy-ldap-vpn.png
  102. BIN docs/{ → sphinx}/figures/401-lms-solution.png
  103. BIN docs/{ → sphinx}/figures/401-mfa-amber-join.png
  104. BIN docs/{ → sphinx}/figures/401-mfa-amber-leave.png
  105. BIN docs/{ → sphinx}/figures/401-mfa-athletics.png
  106. BIN docs/{ → sphinx}/figures/401-mfa-banner-2days-review.png
  107. BIN docs/{ → sphinx}/figures/401-mfa-banner-2days.png
  108. BIN docs/{ → sphinx}/figures/401-mfa-banner-minus-faculty.png
  109. BIN docs/{ → sphinx}/figures/401-mfa-clean-policy.png
  110. BIN docs/{ → sphinx}/figures/401-mfa-enabled.png
  111. BIN docs/{ → sphinx}/figures/401-mfa-opt-in-privs.png
  112. BIN docs/{ → sphinx}/figures/401-mfa-opt-in-security.png
  113. BIN docs/{ → sphinx}/figures/401-mfa-policy.png
  114. BIN docs/{ → sphinx}/figures/401-other-cohorts.png
  115. BIN docs/{ → sphinx}/figures/401-vpn-acls-visual.png
  116. BIN docs/{ → sphinx}/figures/401-vpn-add-jsmith.png
  117. BIN docs/{ → sphinx}/figures/401-vpn-ajohnson409-privs.png
  118. BIN docs/{ → sphinx}/figures/401-vpn-attest.png
  119. BIN docs/{ → sphinx}/figures/401-vpn-audit-list.png
  120. BIN docs/{ → sphinx}/figures/401-vpn-authorized-ldap.png
  121. BIN docs/{ → sphinx}/figures/401-vpn-blee172-pit-query.png
  122. BIN docs/{ → sphinx}/figures/401-vpn-legacy-members.png
  123. BIN docs/{ → sphinx}/figures/401-vpn-misc-attest.png
  124. BIN docs/{ → sphinx}/figures/401-vpn-policy.png
  125. BIN docs/{ → sphinx}/figures/401-vpn-provision-to.png
  126. BIN docs/{ → sphinx}/figures/401-vpn-trace-blee172.png
  127. 0 docs/{ → sphinx}/index.rst
  128. 0 docs/{ → sphinx}/make.bat
  129. +1,667 −1,651 ex101/ex101.1.1/container_files/seed-data/sisData.sql
  130. +1 −1 ex101/run.sh
  131. +0 −33 ex201/ex201.1.1/Dockerfile
  132. +0 −218 ex201/ex201.1.1/container_files/seed-data/bootstrap.gsh
  133. +0 −3,762 ex201/ex201.1.1/container_files/seed-data/sisData.sql
  134. +0 −18,328 ex201/ex201.1.1/container_files/seed-data/users.ldif
  135. +0 −29 ex201/ex201.1.end/Dockerfile
  136. +0 −109 ex201/ex201.1.end/container_files/seed-data/bootstrap.gsh
  137. 0 ex201/ex201.1.end/container_files/seed-data/users.ldif
  138. +0 −29 ex201/ex201.2.1/Dockerfile
  139. +0 −3 ex201/ex201.2.1/container_files/seed-data/bootstrap.gsh
  140. 0 ex201/ex201.2.1/container_files/seed-data/sisData.sql
  141. 0 ex201/ex201.2.1/container_files/seed-data/users.ldif
  142. +0 −29 ex201/ex201.2.end/Dockerfile
  143. +0 −33 ex201/ex201.2.end/container_files/seed-data/bootstrap.gsh
  144. 0 ex201/ex201.2.end/container_files/seed-data/sisData.sql
  145. 0 ex201/ex201.2.end/container_files/seed-data/users.ldif
  146. +0 −29 ex201/ex201.3.1/Dockerfile
  147. +0 −3 ex201/ex201.3.1/container_files/seed-data/bootstrap.gsh
  148. 0 ex201/ex201.3.1/container_files/seed-data/sisData.sql
  149. 0 ex201/ex201.3.1/container_files/seed-data/users.ldif
  150. +0 −29 ex201/ex201.3.end/Dockerfile
  151. +0 −38 ex201/ex201.3.end/container_files/seed-data/bootstrap.gsh
  152. 0 ex201/ex201.3.end/container_files/seed-data/sisData.sql
  153. 0 ex201/ex201.3.end/container_files/seed-data/users.ldif
  154. +0 −29 ex201/ex201.4.1/Dockerfile
  155. +0 −3 ex201/ex201.4.1/container_files/seed-data/bootstrap.gsh
  156. 0 ex201/ex201.4.1/container_files/seed-data/sisData.sql
  157. 0 ex201/ex201.4.1/container_files/seed-data/users.ldif
  158. +0 −30 ex201/ex201.4.end/Dockerfile
  159. +0 −66 ex201/ex201.4.end/container_files/attribute-filter.xml
  160. +0 −43 ex201/ex201.4.end/container_files/seed-data/bootstrap.gsh
  161. 0 ex201/ex201.4.end/container_files/seed-data/sisData.sql
  162. 0 ex201/ex201.4.end/container_files/seed-data/users.ldif
  163. +0 −29 ex201/ex201.5.1/Dockerfile
  164. +0 −3 ex201/ex201.5.1/container_files/seed-data/bootstrap.gsh
  165. 0 ex201/ex201.5.1/container_files/seed-data/sisData.sql
  166. 0 ex201/ex201.5.1/container_files/seed-data/users.ldif
  167. +0 −29 ex201/ex201.5.end/Dockerfile
  168. +0 −60 ex201/ex201.5.end/container_files/seed-data/bootstrap.gsh
  169. 0 ex201/ex201.5.end/container_files/seed-data/sisData.sql
  170. 0 ex201/ex201.5.end/container_files/seed-data/users.ldif
  171. +35 −16 ex201/ex201.end/container_files/seed-data/bootstrap.gsh
  172. +0 −30 ex211/ex211.1.1/Dockerfile
  173. +0 −3 ex211/ex211.1.1/container_files/seed-data/bootstrap.gsh
  174. 0 ex211/ex211.1.1/container_files/seed-data/sisData.sql
  175. 0 ex211/ex211.1.1/container_files/seed-data/users.ldif
  176. +0 −7 ex211/manualBuild.sh
  177. +0 −30 ex301/ex301.4.1/Dockerfile
  178. +0 −3 ex301/ex301.4.1/container_files/seed-data/bootstrap.gsh
  179. 0 ex301/ex301.4.1/container_files/seed-data/sisData.sql
  180. 0 ex301/ex301.4.1/container_files/seed-data/users.ldif
  181. +0 −7 ex301/manualBuild.sh
  182. +0 −15 ex401/class-files/AthleticDeptartmentUsers.txt
  183. +0 −16 ex401/class-files/CisoQuestionalUsers.txt
  184. +0 −35 ex401/class-files/Non-facultyBannerUsers.txt
  185. +0 −25 ex401/class-files/VisitingScholars.txt
  186. +0 −35 ex401/ex401.1.1/Dockerfile
  187. +0 −112 ex401/ex401.1.1/container_files/grouper.client.properties
  188. +0 −92 ex401/ex401.1.1/container_files/grouper.properties
  189. +0 −53 ex401/ex401.1.1/container_files/seed-data/bootstrap.gsh
  190. +0 −17 ex401/ex401.1.1/container_files/seed-data/ephemeral.gsh
  191. +0 −3,562 ex401/ex401.1.1/container_files/seed-data/sisData.sql
  192. +0 −58 ex401/ex401.1.1/container_files/seed-data/skeleton.gsh
  193. +0 −18,314 ex401/ex401.1.1/container_files/seed-data/users.ldif
  194. +0 −76 ex401/ex401.1.1/container_files/subject.properties
  195. +0 −29 ex401/ex401.1.end/Dockerfile
  196. +0 −130 ex401/ex401.1.end/container_files/seed-data/bootstrap.gsh
  197. 0 ex401/ex401.1.end/container_files/seed-data/sisData.sql
  198. 0 ex401/ex401.1.end/container_files/seed-data/users.ldif
  199. +0 −29 ex401/ex401.3.1/Dockerfile
  200. +0 −3 ex401/ex401.3.1/container_files/seed-data/bootstrap.gsh
  201. 0 ex401/ex401.3.1/container_files/seed-data/sisData.sql
  202. 0 ex401/ex401.3.1/container_files/seed-data/users.ldif
  203. +0 −29 ex401/ex401.3.end/Dockerfile
  204. +0 −155 ex401/ex401.3.end/container_files/seed-data/bootstrap.gsh
  205. 0 ex401/ex401.3.end/container_files/seed-data/sisData.sql
  206. 0 ex401/ex401.3.end/container_files/seed-data/users.ldif
  207. +0 −29 ex401/ex401.5.1/Dockerfile
  208. +0 −3 ex401/ex401.5.1/container_files/seed-data/bootstrap.gsh
  209. 0 ex401/ex401.5.1/container_files/seed-data/sisData.sql
  210. 0 ex401/ex401.5.1/container_files/seed-data/users.ldif
  211. +0 −29 ex401/ex401.5.end/Dockerfile
  212. +0 −110 ex401/ex401.5.end/container_files/seed-data/bootstrap.gsh
  213. 0 ex401/ex401.5.end/container_files/seed-data/sisData.sql
  214. 0 ex401/ex401.5.end/container_files/seed-data/users.ldif
  215. +0 −29 ex401/ex401.7.1/Dockerfile
  216. +0 −3 ex401/ex401.7.1/container_files/seed-data/bootstrap.gsh
  217. 0 ex401/ex401.7.1/container_files/seed-data/sisData.sql
  218. 0 ex401/ex401.7.1/container_files/seed-data/users.ldif
  219. +0 −29 ex401/ex401.7.end/Dockerfile
  220. +0 −142 ex401/ex401.7.end/container_files/seed-data/bootstrap.gsh
  221. 0 ex401/ex401.7.end/container_files/seed-data/sisData.sql
  222. 0 ex401/ex401.7.end/container_files/seed-data/users.ldif
  223. +70 −9 ex401/ex401.end/container_files/seed-data/bootstrap.gsh
  224. +0 −30 full-demo/Dockerfile
  225. +0 −245 full-demo/container_files/demo.gsh
  226. +0 −75 full-demo/container_files/subject.properties
  227. +3 −16 gte
  228. +1 −1 internal/createNew.txt
  229. +5 −6 internal/mkstudent.sh
  230. +0 −3 start-rabbitmq.sh
257 changes: 21 additions & 236 deletions Jenkinsfile
@@ -1,24 +1,29 @@

/** Builds images for the Grouper Training Env
* Each class has a set of images. Each class's image sets are independent, but within
* Each class has a set of images. Each class's image sets are independent, but within
* a class each image builds upon the prior exercise. Therefore all images are built
* first and then push to the repo. Order of the build is important, but ordering of the
* first and then push to the repo. Order of the build is important, but ordering of the
* image pushes are not. If an image is missing the extra layers get pushed, then the
* missing layers only get tagged when they are pushed.
**/


/** Each class has a set of modules with a set of steps.
* For examples, 101.1.1, 101.1.2, 101.1.3, 101.2.1, 101.2.2, etc.
* Each step is an associated docker image.
* exerciseSets has the class name and an array of the number of steps for module.
/** Each class is an associated docker image.
* EXERCISE_FOLDERS has the image name and corresponding build folder
**/
// TODO unused?
exerciseSets = ['101.1.1', ]

TARGET_BRANCH = '202205'

EXERCISE_FOLDERS = [
"base": "base",
"101.1.1": "ex101/ex101.1.1",
"201.end": "ex201/ex201.end",
"401.end": "ex401/ex401.end",
]

pipeline {
agent any
environment {
environment {
maintainer = "t"
imagename = 'g'
tag = 'l'
@@ -45,9 +50,9 @@ pipeline {
sh 'rm -rf ../bin/*'
sh 'mv ./bin/* ../bin/.'
}
}
}
}
}
}
stage('Clean') {
steps {
script {
@@ -61,16 +66,6 @@ pipeline {
}
}
}
}
stage('Build Base') {
steps {
script {
docker.withRegistry('https://registry.hub.docker.com/', "dockerhub-${maintainer}") {
def baseImg = docker.build("${maintainer}/${imagename}:base-${tag}", "--no-cache --pull base")
baseImg.push("base-${tag}")
}
}
}
}
stage('Build exerciseSets') {
steps {
@@ -79,226 +74,16 @@ pipeline {
// def tagSet = generateTagSet()
// def builds = build(tagSet)

if(env.BRANCH_NAME == "202109") {
if(env.BRANCH_NAME == TARGET_BRANCH) {
//builds.each{ k, v -> echo ("push ${k}") } //for local testing
// builds.each{ k, v -> v.push(k) } <- not used anymore
def exerciseFolders = [
"base": "base",
"101.1.1": "ex101/ex101.1.1",
"201.end": "ex201/ex201.end",
//"201.1.1": "ex201/ex201.1.1",
//"201.1.end": "ex201/ex201.1.end",
//"201.2.1": "ex201/ex201.2.1",
//"201.2.end": "ex201/ex201.2.end",
//"201.3.1": "ex201/ex201.3.1",
//"201.3.end": "ex201/ex201.3.end",
//"201.4.1": "ex201/ex201.4.1",
//"201.4.end": "ex201/ex201.4.end",
//"201.5.1": "ex201/ex201.5.1",
//"201.5.end": "ex201/ex201.5.end",
//"211.1.1": "ex211/ex211.1.1",
//"301.4.1": "ex301/ex301.4.1",
//"401.1.1": "ex401/ex401.1.1",
//"401.1.end": "ex401/ex401.1.end",
//"401.3.1": "ex401/ex401.3.1",
//"401.3.end": "ex401/ex401.3.end",
//"full_demo": "full-demo,",
]

exerciseFolders.each { exercise, folder ->
EXERCISE_FOLDERS.each { exercise, folder ->
def build = docker.build("${maintainer}/${imagename}:${exercise}-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ${folder}")
build.push("${exercise}-${tag}")
}

/*
def build = docker.build("${maintainer}/${imagename}:101.1.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex101/ex101.1.1")
build.push("101.1.1-${tag}")
build = docker.build("${maintainer}/${imagename}:base-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} base")
build.push("base-${tag}")
build = docker.build("${maintainer}/${imagename}:full_demo-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} full-demo/")
build.push("full_demo-${tag}")
build = docker.build("${maintainer}/${imagename}:401.1.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex401/ex401.1.1")
build.push("401.1.1-${tag}")
build = docker.build("${maintainer}/${imagename}:401.1.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex401/ex401.1.end")
build.push("401.1.end-${tag}")
build = docker.build("${maintainer}/${imagename}:401.3.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex401/ex401.3.1")
build.push("401.3.1-${tag}")
build = docker.build("${maintainer}/${imagename}:401.3.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex401/ex401.3.end")
build.push("401.3.end-${tag}")
build = docker.build("${maintainer}/${imagename}:301.4.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex301/ex301.4.1")
build.push("301.4.1-${tag}")
build = docker.build("${maintainer}/${imagename}:201.1.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.1.1")
build.push("201.1.1-${tag}")
build = docker.build("${maintainer}/${imagename}:201.1.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.1.end")
build.push("201.1.end-${tag}")
build = docker.build("${maintainer}/${imagename}:201.2.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.2.1")
build.push("201.2.1-${tag}")
build = docker.build("${maintainer}/${imagename}:201.2.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.2.end")
build.push("201.2.end-${tag}")
build = docker.build("${maintainer}/${imagename}:201.3.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.3.1")
build.push("201.3.1-${tag}")
build = docker.build("${maintainer}/${imagename}:201.3.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.3.end")
build.push("201.3.end-${tag}")
build = docker.build("${maintainer}/${imagename}:201.4.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.4.1")
build.push("201.4.1-${tag}")
build = docker.build("${maintainer}/${imagename}:201.4.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.4.end")
build.push("201.4.end-${tag}")
build = docker.build("${maintainer}/${imagename}:201.5.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.5.1")
build.push("201.5.1-${tag}")
build = docker.build("${maintainer}/${imagename}:201.5.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex201/ex201.5.end")
build.push("201.5.end-${tag}")
build = docker.build("${maintainer}/${imagename}:211.1.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex211/ex211.1.1")
build.push("211.1.1-${tag}")
build = docker.build("${maintainer}/${imagename}:101.1.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex101/ex101.1.1")
build.push("101.1.1-${tag}")
*/

/*
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
*/




/*
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} /")
build.push("-${tag}")
build = docker.build("${maintainer}/${imagename}:$i-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} $i/$i")
build.push("$i-${tag}")
build = docker.build("${maintainer}/${imagename}:401.3.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex401/ex401.3.end")
build.push("401.3.end-${tag}")
build = docker.build("${maintainer}/${imagename}:401.3.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex401/ex401.3.end")
build.push("401.3.end-${tag}")
build = docker.build("${maintainer}/${imagename}:401.3.end-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex401/ex401.3.end")
build.push("401.3.end-${tag}")
*/


/*
docker pull "tier/gte:401.3.end-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:401.3.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:401.1.end-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:401.1.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:301.4.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:211.1.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.5.end-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.5.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.4.end-$GROUPER_GTE_DOCKER_BRANCH"
ocker pull "tier/gte:201.4.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.3.end-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.3.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.2.end-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.2.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.1.end-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:201.1.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:101.1.1-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:full_demo-$GROUPER_GTE_DOCKER_BRANCH"
docker pull "tier/gte:base-$GROUPER_GTE_DOCKER_BRANCH"
def build = docker.build("${maintainer}/${imagename}:101.1.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex101/ex101.1.1")
build.push("101.1.1-${tag}")
build = docker.build("${maintainer}/${imagename}:211.1.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex211/ex211.1.1")
build.push("211.1.1-${tag}")
build = docker.build("${maintainer}/${imagename}:301.4.1-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ex301/ex301.4.1")
build.push("301.4.1-${tag}")
build = docker.build("${maintainer}/${imagename}:full_demo-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} full-demo")
build.push("full_demo-${tag}")
*/

} else {
echo 'not building images, since the SCM branch is not 202109'
echo "not building images, since the SCM branch is not ${TARGET_BRANCH}"
}
}
}
@@ -311,8 +96,8 @@ pipeline {
}
}
}
post {
always {
post {
always {
echo 'Done Building.'
}
failure {
44 changes: 44 additions & 0 deletions TODO.md
@@ -0,0 +1,44 @@
TODO
=====


202205
-------
- Once upgrading to 2.6.9, can remove gsh code marked "Temporary fix for GRP-4024" from bootstrap.gsh files
- Bug in 2.6.8, attr_read isn't enough to see attributes; need admin privileges on the object to see the option in the menu
- 301.6 and 301.7 slides need to be finished
- 301.8 view privilege on the App folder not enough for kjenkins to view; needs create priv

202202
-------

- (NO IT REQUIRES JAVA 11+) Upgrade Shibboleth IDP to latest 4.1.4 (low priority). But the configs have been modified to reduce warnings
- How to get rid of the LDAP warnings that come up the first time the page comes up?
- The All Faculty/Staff group is missing the ref type
- Fix this error

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
- Main wiki page doesn't have a link to container configure, install, etc.
- Add a gsh report to 401.2

Slide updates:
201.1.1
- Years need to be +1. Then grace period graduate should be 9 months (end date 2022/03/01)
201.1.2
- The slide says exchange students are not in SIS. Are they a loaded basis group, ref group, what?
- Should transfer students be a basis group? Is there such a thing as an ad hoc basis group?
- slide 6, why is Create Digital Policy there twice?
- should we do away with the All Staff being a rollup of 100's of groups? Hard to see visualization that way
201.2
- Add some visualization steps to easily understand the app structure
- (DONE) Already has an All Faculty/Staff group, don't need to add faculty and staff separately
201.3
- We can either add the type to the policy folder, or autoassign types to the folder above, which will do the same
- the ePA_full_sync daemon job has already been created
201.5
- (DONE) ref:role:financeManager needs to add the ref type
- after adding Carrie Campbell, should go to the policy group to show it's there


211.3
- TEST: What privs do you need to add an assignment to an assignment