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: d87feed
Choose a base ref
...
head repository: docker/grouper_training
compare: 093139d
Choose a head ref

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. 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. 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. Copy the full SHA
    f330dce View commit details

Commits on May 23, 2022

  1. Copy the full SHA
    7ec626f View commit details

Commits on May 26, 2022

  1. Changes post-May 2022

    * GROUPER_WS_GROUPER_AUTH=true
    * subject source changes: wildcard uid in search; sort by last, first
    * IDP don't encrypt assertion
    credman committed May 26, 2022
    Copy the full SHA
    b92fc3b View commit details

Commits on Jun 2, 2022

  1. Copy the full SHA
    15f0957 View commit details

Commits on Aug 22, 2022

  1. Copy the full SHA
    586a8b6 View commit details
  2. Copy the full SHA
    5718429 View commit details

Commits on Aug 23, 2022

  1. Copy the full SHA
    4d7b4ac View commit details

Commits on Oct 30, 2022

  1. Copy the full SHA
    00cf8c9 View commit details

Commits on Oct 31, 2022

  1. Grouper 2.6.15.1 -> 2.6.16.2; remove symlink /usr/local/bin/java, sin…

    …ce the Grouper entrypoint sets owner to tomcat which causes issues
    credman committed Oct 31, 2022
    Copy the full SHA
    d57dea2 View commit details

Commits on Nov 1, 2022

  1. Temporary(?) workaround for GRP-4450 - Provisioner metadata is readon…

    …ly unless "can change" is true
    credman committed Nov 1, 2022
    Copy the full SHA
    70e914c View commit details
  2. Copy the full SHA
    5c583e8 View commit details
  3. Copy the full SHA
    a20a26a View commit details

Commits on Jan 17, 2023

  1. Copy the full SHA
    0552b59 View commit details
  2. Copy the full SHA
    def6dcd View commit details

Commits on Jan 20, 2023

  1. Copy the full SHA
    d3988c3 View commit details
  2. Bug fix in lesson build

    credman committed Jan 20, 2023
    Copy the full SHA
    5424f4d View commit details

Commits on Feb 21, 2023

  1. Upgrade 2.6.18.1 -> 2.6.19.3; fix eduPersonAffiliation provisioner fo…

    …r compatibility with field changes
    credman committed Feb 21, 2023
    Copy the full SHA
    85b4167 View commit details
  2. Create the proper eduPersonAffiliation full and incremental daemons; …

    …disable the incremental
    credman committed Feb 21, 2023
    Copy the full SHA
    f7e98a0 View commit details

Commits on Feb 28, 2023

  1. commit

    mchyzer committed Feb 28, 2023
    Copy the full SHA
    e3e7ff3 View commit details

Commits on Aug 21, 2023

  1. Update Dockerfile

    chubing committed Aug 21, 2023
    Copy the full SHA
    e41d956 View commit details

Commits on Aug 29, 2023

  1. Copy the full SHA
    8461a2e View commit details

Commits on Aug 30, 2023

  1. Update images for Grouper v4

    * Use Shib IDP v4
    * Installed package changes to support Rocky Linux 8
    * Additional php packages and configuration to support php apps and fcgi
    * mysql max_connections 750
    * Openldap defaults to mdb instead of hdb
    * Curl does not have built-in ldap support, so use netcat for ping tests
    credman committed Aug 30, 2023
    Copy the full SHA
    3ee0996 View commit details
  2. Copy the full SHA
    32563ad View commit details

Commits on Sep 6, 2023

  1. Copy the full SHA
    8731369 View commit details
  2. Copy the full SHA
    50f4fb8 View commit details

Commits on Sep 28, 2023

  1. Copy the full SHA
    7c4c740 View commit details

Commits on Sep 29, 2023

  1. Copy the full SHA
    5c8a3b7 View commit details
  2. Update Jenkinsfile

    chubing committed Sep 29, 2023
    Copy the full SHA
    899c8d5 View commit details
  3. Update Jenkinsfile

    chubing committed Sep 29, 2023
    Copy the full SHA
    22e76b4 View commit details
  4. Update Jenkinsfile

    chubing committed Sep 29, 2023
    Copy the full SHA
    c71d89f View commit details
  5. Update Jenkinsfile

    chubing committed Sep 29, 2023
    Copy the full SHA
    d218ddf View commit details
  6. Update Jenkinsfile

    chubing committed Sep 29, 2023
    Copy the full SHA
    f5f8585 View commit details
  7. Update Jenkinsfile

    chubing committed Sep 29, 2023
    Copy the full SHA
    e35d401 View commit details
  8. Update Jenkinsfile

    chubing committed Sep 29, 2023
    Copy the full SHA
    c52ef3d View commit details
  9. Update Jenkinsfile

    chubing committed Sep 29, 2023
    Copy the full SHA
    e884f5a View commit details
  10. Update Jenkinsfile

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

/** 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 = '202310-multiarch'

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 {
agent { node { label 'docker-multi-arch' } }
environment {
maintainer = "t"
imagename = 'g'
tag = 'l'
DOCKERHUBPW=credentials('tieradmin-dockerhub-pw')
}
stages {
stage('Setting build context') {
@@ -45,9 +51,9 @@ pipeline {
sh 'rm -rf ../bin/*'
sh 'mv ./bin/* ../bin/.'
}
}
}
}
}
}
stage('Clean') {
steps {
script {
@@ -61,246 +67,36 @@ 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 {
script {
docker.withRegistry('https://registry.hub.docker.com/', "dockerhub-${maintainer}") {
// 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 ->
def build = docker.build("${maintainer}/${imagename}:${exercise}-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ${folder}")
build.push("${exercise}-${tag}")
// the following command needs to be run first on a new node, but not after that
// sh 'docker buildx create --use --name multiarch --append'
EXERCISE_FOLDERS.each { exercise, folder ->
// old non multi-arch way
// def build = docker.build("${maintainer}/${imagename}:${exercise}-${tag}", "--no-cache --pull --build-arg VERSION_TAG=${tag} ${folder}")
// build.push("${exercise}-${tag}")

// switch to buildx, which is not supported by the jenkins docker plugin
sh 'docker buildx inspect --bootstrap'
sh 'docker buildx ls'
sh 'docker login -u tieradmin -p $DOCKERHUBPW'
sh 'docker buildx inspect --bootstrap'
sh 'docker buildx ls'
sh "docker buildx build --platform linux/amd64 -t ${imagename} --build-arg VERSION_TAG=${tag} --load ${folder}"
sh "docker buildx build --platform linux/arm64 -t ${imagename}:arm64 --build-arg VERSION_TAG=${tag} --load ${folder}"
echo "Pushing image ${maintainer}/${imagename}:${exercise}-${tag} to dockerhub..."
sh "docker buildx build --push --platform linux/arm64,linux/amd64 -t ${maintainer}/${imagename}:${exercise}-${tag} --build-arg VERSION_TAG=${tag} ${folder}"
}

/*
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 +107,8 @@ pipeline {
}
}
}
post {
always {
post {
always {
echo 'Done Building.'
}
failure {