From 28c709801ae0e784634d8b11fee26855e8d236bf Mon Sep 17 00:00:00 2001 From: Bart Plasmeijer Date: Tue, 22 Oct 2019 16:30:42 +0200 Subject: [PATCH 01/14] added: XM JSS and XP JSS --- IMAGES.md | Bin 15173 -> 34844 bytes README.md | Bin 5624 -> 11518 bytes Update-Readme.ps1 => Update-Documentation.ps1 | 0 sitecore-packages.json | 18 ++++- .../9.2.x/sitecore-xm-jss-sqldev/Dockerfile | 21 +++++ .../Extract-Databases.ps1 | 35 +++++++++ .../Install-Databases.ps1 | 61 +++++++++++++++ .../9.2.x/sitecore-xm-jss-sqldev/build.json | 14 ++++ windows/9.2.x/sitecore-xm-jss/Dockerfile | 29 +++++++ windows/9.2.x/sitecore-xm-jss/build.json | 25 ++++++ .../9.2.x/sitecore-xp-jss-sqldev/Dockerfile | 22 ++++++ .../Extract-Databases.ps1 | 35 +++++++++ .../Install-Databases.ps1 | 61 +++++++++++++++ .../9.2.x/sitecore-xp-jss-sqldev/build.json | 14 ++++ windows/9.2.x/sitecore-xp-jss/Dockerfile | 22 ++++++ windows/9.2.x/sitecore-xp-jss/build.json | 25 ++++++ windows/tests/9.x.x/docker-compose-jss.xp.yml | 73 ++++++++++++++++++ windows/tests/9.x.x/docker-compose.jss.xm.yml | 46 +++++++++++ windows/tests/9.x.x/docker-compose.spe.xm.yml | 4 +- 19 files changed, 502 insertions(+), 3 deletions(-) rename Update-Readme.ps1 => Update-Documentation.ps1 (100%) create mode 100644 windows/9.2.x/sitecore-xm-jss-sqldev/Dockerfile create mode 100644 windows/9.2.x/sitecore-xm-jss-sqldev/Extract-Databases.ps1 create mode 100644 windows/9.2.x/sitecore-xm-jss-sqldev/Install-Databases.ps1 create mode 100644 windows/9.2.x/sitecore-xm-jss-sqldev/build.json create mode 100644 windows/9.2.x/sitecore-xm-jss/Dockerfile create mode 100644 windows/9.2.x/sitecore-xm-jss/build.json create mode 100644 windows/9.2.x/sitecore-xp-jss-sqldev/Dockerfile create mode 100644 windows/9.2.x/sitecore-xp-jss-sqldev/Extract-Databases.ps1 create mode 100644 windows/9.2.x/sitecore-xp-jss-sqldev/Install-Databases.ps1 create mode 100644 windows/9.2.x/sitecore-xp-jss-sqldev/build.json create mode 100644 windows/9.2.x/sitecore-xp-jss/Dockerfile create mode 100644 windows/9.2.x/sitecore-xp-jss/build.json create mode 100644 windows/tests/9.x.x/docker-compose-jss.xp.yml create mode 100644 windows/tests/9.x.x/docker-compose.jss.xm.yml diff --git a/IMAGES.md b/IMAGES.md index d844be722f830619ca8c520a8da478b6082be7c2..a8a5107cfd179065cf5899de960146df43f8d587 100644 GIT binary patch literal 34844 zcmeHQOK%)E4A!|o|HC4=G>45H_mISg0)1Qx6e!RZ?ZF5T*V#C3{pzlhxIodL-j)=X zmb9Z8Ni(EIHj0Il*?ExEr;ik=(a!w)&ttPNUz&6HEX-uc{gSm=y+nKk)-der1zj9 zN6Pu#*(3w4{Q|E12J~E8Z70x@8~FAH_TJc5p?$~p*uu7RZGPV#{|M4<%sV*#H+(j* zy@ow_6t8^;->#q)r?7>`Q3|%1j;+j}b`Q320sF7uiiPK+E33A9Dp6f-)~b0`}y_p7p{0 zOGloWmuBC5zCG{t7MmQ&htTiNu4Pom(y;v3py3GEdFaqh&X-h1eSM#Ah>m0-c9(Y6J2PKtD2&_Qu#-k)*4!J*;Ihc7CB9rJbfZFujF5cPQ)Bix61%%`-0cYo4PA zuzDKq0kl_^-Hd?ao;J(78r#KMZ(RHhM%>LTtRK?cVo#90lB{On%hYo`YCHDWTgq}`Z| z_DN#P`KdpvqRZ--#uix}vr_|keO7ZzT4goar-Q9_rs1${Gt-dAR-dnJ@>G(ax-~M6 z$t~8%7h)rq-ufM0HAZ9L9P4)2g8$d+xYe++6;9Mcj8=JnrB=9<=Ok=Pjh;(cFBPp~ zo>rD0GAgA#)H42(=<<4j>FaTFksi|666$294%TjtK!?o^W2dP-Z1wK2xb|PcN~iU9 zzHiEEa9VS^D>uY6CV%Woa9oi(G}nZYaRck-uyq<7Ezc24{eN7J$Xet_ISqgBt`pMo z_pYXpo9XptQPg5&=?6Xe?X}J+Uw0rK6pR6G( zG>|L5r^Zz{F*<&q!pCsjJvG)MTkAW!bg(SF=gY0k$8yZQUeiKQMN+ZtzNG1KB*OY<61>)wv-Z*^Dp z2~#vm#Ad(gNP0B!rG-&0CUxq)$$iL6x=-TrZII#>-R0rm&*kPXsVAmQS$#0(X=(GV zK9EMNB;&g;NKqXl&#{=?Jm1tnj;x{nlk!eqW;%wYz0#NWkdX2t<8+*SX}Tz3^)DCe zpMkVz+qGle(Su{Mn@J+1()TRsywYbi`n4UQNcPow9^=s56^(ihiClk8Ax!?|c_PcsjtE4DORWmzHFNsNk(lVV~zzoPSUGdN!Z#mN#ZSxb5LJ5;x7dbVz*#n?&bb||;+ zIp1SOVzQH%(pTk|$3SKS$?dOBU8Ti%rCB{CGbSx<#=LyY#>6_7UhbbYF!S>x;!MnM za^smVEsSI_sXBb}ZIH}I@}t(6`hmT$52vw}7Rs#`wS4T;Y)aweOUq-^6qF7`*4(`4 ztsAcFud^@VH?pyV-hh&vSAbj5vu8_`ow_|8aj@QZIlwwh6 z+b~XJ_@j#xy&3WOmM<4}O&eC8%kBHHR*dG(azwf^^bzUm z)InsduY~s1@)^=f+GOzz|WSURhcV7tO@Hj?< WGU_lQ)R|&Lye8|f|6J}*_1J%0fufWE literal 15173 zcmc&*OK;;g5WeeI5b8=1K8VH4pDU&Ej2I z^1KdJ>r2t*_cY(_r!6vZ`!WcAVxRf8Ra?;mo8XumbX?|p}jw>xAW`y z61wk3w%>;PxX5!JgKG-!eJQ}d1gQ-piezB|xR=#ce7(FH4ggWHl6{2}HDRj+8I=&* z_tYcWCsr_yEZWt@CaS?}dA?3_F_Z}|%J9Z|K46UFF02OXI4=LgAfc}IQ3!b^PofMA zV~Kqz>~931mk$0pOZaye;8M^l=&+JH$=Kt>0e75u#Y_Y1>>-_?H_$Y|PF``MN9;#A z)5aUN{Dd$Z2zw(sthSs+w&>r9@J`SxXqzy!4ndFMM<90-${cG??xCPBau0QqvBw*$ z9H;t-H(oK*!P+I{2CTP)EcMaAI(dZG{03m9J{sOG(rvw=6ZGg2olY`#doPAQym~Py z7jK|XOM*RuB(Z6kaA8FL!ixaVYAH5Z^CAl+)O8Ju;Qw(6W*pXdZRB}uWA#=hLtNi9 z9>4HOXossN3(P}7Kghi;wR9x+a~E%5=|yL&rcOmBUZnIdp5Ow73T+#peS6c3s@wTw z$`2~YPJpID44@$u3K8o9t6dA-#|BeTnPkIvrBoV@1A;}mT$t!wYy4sOpsfZP{#p2xl>rr(-sL|4lPoH- z{7ph}!dKt+B)&im43A(-)sTeiRKBQ~5QiUAg*v>+f;5M}nqL7Uhx-eR)4O&v0Lb*) zH-zW6#T4|p>>(g8l*V|0X;b0X<86h&@4Vn`^=X`NiWjX37*<&q9C3nJpY`?|8bEBS zhXNE+y|V#qoef-2w<%;=@>>BEq_K!OdnReJI%2pnB-C&wL^Q)K=hrrQ3oA_BtOWF( zJ}UwGpVN-#*R z^2@<4F*JNN#>GDE>v%JGo{=-?)}PmDfr(0`_c*`6kc5X;DmxnV_C|`tt;h zmPz6#K^haJhlI0Z2MM~`iE^hY@#Fp^jaMfNpw0CuD@6e=eiS^;kD zJJO7SHDn1}p#4!BIB%jmXamQI+EY66L=b*BM?OB=(Hz}Di)OP0_=&^RikM zq98_tVK51(afl2lMeF-WWPm2e$mk?#IF6X%gH3QOGB%-WWOR}v8jw;aGxSC9AEfNB AH~;_u diff --git a/README.md b/README.md index a9ae83a376c2e2272dc76cb8e54d80a3a3bfd760..45bd8d51a884f645545f2b117293d2e4a392dc18 100644 GIT binary patch literal 11518 zcmb`NYfl`>6^83`r2L0oAj;ax%-Fk86r){77+9MXHpGnMSg;DW0gns}VFm-y{`MsA zQ)doUUEN%4R-<9MtLt*E@3}Pp`|oV1!rL$ir(qPvVHhU*JquSF9fbq^-H2m@uouS% z8d=iSUihRnXSy4P_4Mt6U{o)U&iciqTiWp%{O5) ztZKhK?RBDOgE;qfSP6aY^=4=^u;kyUYv?N|mqfYmt-UhOOhgnYBjvZ0ji5fkOHfdIL^;J^Led$0pg55n->+O4@ zbLf7E&XLA}BzrD8C$iknx<3=Wc-+ZvAnCOCA7l$piv2s`nPmK(zE6TZ=Ty6bp0Rw6 zRZlgqr@w#I^|OrQ`}y`w2!?O(--uo>Bonl^FR5Hf8Xy1&dZAUfA!a3cg143E|0roz z!ZdIg>4Hs$g-uzH^}HRQyLz&rmF%@C?0g*-!ppF%v99(ue`t<^Lr%$#_&Cyij_j2v zfhTA>5p_o~LhMLGJCX05XjdRf6+VcvbN%9jaL;~Yja3>2)s5Gou8qfL`m&!l`djJmntrjQ zN@Fi{_b!h2McYaoeXFOe+K4fm)gP`o>u6P9wBDxo3uywY*ppNSx;EOJa{S{c%7$Eo z3}K}Ep{Tc+m7X6=tr#>w!`RFDRL{*!#{4t9`NOp6G-}Xf}Ni0sf-z_xe6*jZF{R@loM3v!Z%Y zRHHk5tWwrF(v|1L>ya+(n`ep7MR^Y%21c(+@-MZo+Ri3(wzy$&p$*0FqNN!Z zK$zxe+xeEsfokxd(Di*B*_SLXL|>URq?+L_Z18B3qcc`d1_WMx7@+CFja! zwR4r*z^f<=?Ap-XvB~HlwsMlkA&Xte-!qOTex%$3q_aw6{@Rze10QhUQh%{(v_|xK z86#0YMjk5A5-&R82VweJj8f)pAHs93?MR;sTD3BbcE4!k2i>p9Czmy2UUwGNmZfPT z+j97q)-3Ca@ilqy^SFlS*L(tvMz#CkaxH$`&Kovb&ll>^Cs|CB-%D8%dOQ{nDSz%1 z76Tr6W`x!_k(%t8u=D$=gtx@k-JhOxar4alX?}g5eNE5Aw(|39W2Br>g|<0uW4`j& zDc9VW^6y0nQP-O-g9r9uW;34!@AovLUN6}S{JwnBv=+_nFa^=29io6(?iaKqX5kJ@lQPU@<51O)>&{JRjr*@8l0v zM4Hdqt+Ymu)|KXMMBjNMe|xQ~nbuR*wfk6~izsgpHH zFce87UwkSata_u4134{j5aY?gz;5XCm8V>@O&Lm{D85qUkr zIU^w)IVd&;1=iVcEQMyCgQZYU_kh@Y6m1r2q0@RIXv{JbGF$8yaENX1pT%cDqI@&x{svF4b^8>gdbM4(q-)urpco-Mf^-1qQf%LlRHRFTn*VK48- zK-;S9a8U^RMp`9j0TZd%@oFfhkB|M0!~^r^bkFYdH?I6qIJy)$K9=0Jw66{X*sgJXGobS@e+y?-cdJtCRxvmZ09QcQ!yrCnDKf0?j6~z zpHM~Q#(z_Wy(P^X7L6qV@~X@D-I5;D+mVuLvw^Oph9yv=pH3x%WqJh150eMkth>F> zZQFNQj}ZVo;LQbb%CwX!E-L*6ed%-5`&EpTUCXx22Gm%X>Mr3M5KY-@WI0WLMjD1233Cz>A_2Mwa18c&ghm!%6_MT$pEziFI{6m)T*^>bnR=zo zUJ6)qTYg66)O_D|_bQh|vgTP)QjeK#r-s3+Q5J3y^_f-d+<^b&7UeU%#4DESy6>O7 zyb{J;$*!42b!S*W#B5rW$; W_OI>?UD7tnZ61AUY<5XBr#GZ%)A}Mj1M8rI zKGkq)H+6Zf#*@#5DC8-;SM+E=miDNKVw*zrW;SnJVl{1=gc|JdTt1p=N9q=<3M{)I z|LE!T=BRa-@!K+!bU${VZ>Nn6WnZTwtvna3Tf=W9Q`b0Nd3cR0?cV1IfYsD3wXYG@ zcTVi zCp9vjd!i?ox_5l?Cv<8+>MK2ii@BP_y#}iE-vxO0&pMC2I`U#93BJ$inyQtqAf3&L zYU)v>lJmEuqdXIt$q)f)m3ToUhM$z{V`Cr*Z~l=%;tOr&^(#E#Jzy5r&U~|Tk85Nx z*b_2>Dx2Z{k>VhTVsAUlDv(N!u5ESVLuAzCB;n?4WA`gbX;;s{%Rfd* zCEPHq%X=W6)t^Nh;H^jArR5CjNcThE(Xo;W2aHHP70ZYHM6AhZx3|i8L!O7AtA5mj zduCamo32X>Ntv3XITmL90IxYs_o=Qh&+h19e*Qd1S+YwI^eSoU+DS>Rgj)TBqC5$=^A+4Zths`q|h@9+McKllNMUMb*HJchT2# zgaGw(i@GbPZtIkOIUU57dLQ-6>1gkzx;*fIGDY6O=6R9jN_oD=ij{0O|BaWj!LN;p z`3Y3yrN?lhRaP&A=w>U>M)V{b`zg{+E>%hwL^f?&wv)$4dUBR)Sia%D;9i`3!sCno zA4}@hmOW&=g&g2M@iF1F;d5CBLKXbnR~lQ=485OG>4eltt4=@8idJ?b`IX=C0+O-13s; zBou3pwhz&7@`a|HlGbj@U`rWbJJ^T4OK8vNzD~1PUY_ZoVeqv+R?^dE4@he}ez^KS Dfvku1 literal 5624 zcmb7Ie{b7368+zwV%F|q6C;w77Pq(~hcj>9JgP+_xz3qFD=L>-s$lR3th-{Dg%+p@CE;BL+{v&)N+*}LfapE=n}M0 z(TgYFvGm^j_M*QFkw+Ol$kZsEyy&#G{>SU%!rnXeU;D>+)(QTJG84Q$J~{22{OkDC zZv0HLcfci+u!h!$Tty*mk$lpd z7)hvp9@<4j6cr$+AWu`Q6KzR62o;HWBz?NoIRzpi5gARnk=Ruk>{u1e0rI<$DXh1& zNOeqt*S*K;`~df@_j7v~BU8kQL=w_UJV;U*xdDE&&dsWHCDZl6*Qt5{e#!u(a;Z#~ zZv95%k33!zOgRvDmwLm$;o{eW)=F=@OnZ1ZBqM_indHHx%(!w>pb^tsE$Uwn2cyZ^ z&4g|SlirxlJ`6rhXmZ&f)2KHbjQf+p=(f@DXtHcIH1 z3Q}$KBJ%?scVq%scOF!l6?fX0L z^Vz763j6B49SyE}@4IhNRlW1UsQ2x2Z#3=?Zr*!u2jl927j86qt`v6nsS3X+6B~_c z$H&+U;;v<1uZV_Y8}8=b$?5T%22HO0zo~!m(BC|* zbiTt~9Fa|VWQRq`1SQ%qpeyLPXn?6|dSl{h(SLFk+&eO}xftq=Ovm7%sNqj->+sj+ zguF6&pRi{lVoA;0!KV?0^5IF*(x-86baQsyYt~bS!kCRt!yioB}T8rSG1r_)NtU2?i<%`)7sfFzpwlRoA1C1#~8q$Hm zxKY`PY_mskgLlI%q3;-GEp9PfjsaKwtUCJ4&0$clMT(PWSa0U_6EuJ*8e2^@6xnL# zv$uBI4sS4vK#)oBNg2T^KX9iQx|)p7>EKG^WD}XjG8 z2&8M(RhSBmYO_TmquF_PTD&X&_aEa38Ha|^V5L-{|5cgJEl@aZG6Bo!#I~jfkt!A> zG`s4b_io0$Z^N_6<%}YAkJ#xh&0fL0yF2)sb2 zq-wcjNnfZT5JzC;8{`BCJ{AVFJ0p*uSbZmQQ}QS{h0Cy5 zKqnv)K^rOWYwI~{KX(O3sj#pPX~T7UT}mQg#wtVulFxz_#+^B0{6s?3aX>j?5-KT` z;Zfmi*?SV{$krjV*cj5+HKT=&LWG@64wORwH+@hFQrKkp@Pk~6VB2iGaud0^&^tQ# zL#xEI53h#fageHYHqzksX2}yxWWGfu430`hrw4&6I#(*zF8gHDr*oE`k|~;ND#9Hg zSTVZb1g>7pKxTz|f)79Td)?37srK0O2RjuwzRc&iv;Aru7+A(wNx?jxE=5wP(Ib)( z=Zy`Sb5^*cIy>9pQ$8#%v?Wb272}X~lg2|C49i>G;4P7HN5si(WdTon7e-+dyW1g| z|FRX7x8G=CaCp@_8~5x@uS*vL{z2nm@4Wx}Em&&!=>xh4u6<6-{(>p5N*56~C!5Mq za#D%OyYls!#PR7PM>bV^EM&ONpBu6&qIk{gElMupo}O{#@NK{BK+Sg3K0Ay`%-f!$kjlO;BU0Z_tS;0AbGcA+R zXDRl9KTXKAc}U*x8Xwx6qpk&&B>~=&A-I7P!AZ5jhk)T&I#pUKT(HG6b!XuV=$0)_ zhK=WZnD&zgeJ{ZlRwj?osksr(?8T$tkR5U<-e15>B~B+lvv*;|pXTxlmoY-yPrHR{jSErhgRx diff --git a/Update-Readme.ps1 b/Update-Documentation.ps1 similarity index 100% rename from Update-Readme.ps1 rename to Update-Documentation.ps1 diff --git a/sitecore-packages.json b/sitecore-packages.json index 8e142b8e2..aaf630e0a 100644 --- a/sitecore-packages.json +++ b/sitecore-packages.json @@ -190,7 +190,7 @@ "Sitecore Experience Accelerator XM 1.8.1 rev. 190319 for 9.1.1.scwdp.zip": { "description": "Sitecore Experience Accelerator 1.8 Update-1", "url": "https://dev.sitecore.net/~/media/F8CFFFD23CD54178B5749B0ECACB5813.ashx" - }, + }, "Sitecore Experience Accelerator XM 1.8.1 rev. 190319 for 9.1.1 CD.scwdp.zip": { "description": "Sitecore Experience Accelerator 1.8 Update-1", "url": "https://dev.sitecore.net/~/media/768039F8BCB24FB5A78AA99AD4391A20.ashx" @@ -294,5 +294,21 @@ "Web Forms for Marketers 9.0 rev. 180503.zip": { "description": "Web Forms for Marketers 9.0 Update-2", "url": "https://dev.sitecore.net/~/media/3BFEB7C427D040178E619522EA272ECC.ashx" + }, + "Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522 CD.scwdp.zip": { + "description": "Sitecore JavaScript Services Server CD WDP for Sitecore 9.2 XM", + "url": "https://dev.sitecore.net/~/media/AEB49B787A534166A6C7D6B377367776.ashx" + }, + "Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522 CD.scwdp.zip": { + "description": "Sitecore JavaScript Services Server CD WDP for Sitecore 9.2 XP", + "url": "https://dev.sitecore.net/~/media/187F48001A174051A7B085377838295F.ashx" + }, + "Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522.scwdp.zip": { + "description": "Sitecore JavaScript Services Server WDP for Sitecore 9.2 XM", + "url": "https://dev.sitecore.net/~/media/305523FA736948C9855A8B0539FF1680.ashx" + }, + "Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522.scwdp.zip": { + "description": "Sitecore JavaScript Services Server WDP for Sitecore 9.2 XP", + "url": "https://dev.sitecore.net/~/media/1D5D53DE1F4B43E8B3D70E0D0EE40A5D.ashx" } } \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xm-jss-sqldev/Dockerfile b/windows/9.2.x/sitecore-xm-jss-sqldev/Dockerfile new file mode 100644 index 000000000..d961bf35b --- /dev/null +++ b/windows/9.2.x/sitecore-xm-jss-sqldev/Dockerfile @@ -0,0 +1,21 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BASE_IMAGE as build + +ARG ASSETS_USE_WDP + +ENV INSTALL_PATH='C:\\install\\' ` + INSTALL_MODULE_PATH='C:\\install-module\\' ` + DATA_PATH='C:\\data\\' ` + TEMP_PATH='c:\\temp' + +COPY --from=assets ["${ASSETS_USE_WDP}", "${INSTALL_MODULE_PATH}"] +COPY . ${INSTALL_MODULE_PATH} + +RUN & (Join-Path $env:INSTALL_MODULE_PATH "\\Extract-Databases.ps1") -Path $env:INSTALL_MODULE_PATH; ` + & (Join-Path $env:INSTALL_MODULE_PATH "\\Install-Databases.ps1") -InstallPath $env:INSTALL_PATH -DataPath $env:DATA_PATH -ModulePath $env:INSTALL_MODULE_PATH -DatabasePrefix Sitecore; ` + Get-ChildItem -Path $env:INSTALL_PATH -Exclude "*.mdf", "*.ldf" | Remove-Item -Force; ` + Get-ChildItem -Path $env:INSTALL_MODULE_PATH | Remove-Item -Force; \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xm-jss-sqldev/Extract-Databases.ps1 b/windows/9.2.x/sitecore-xm-jss-sqldev/Extract-Databases.ps1 new file mode 100644 index 000000000..9b7b11d7c --- /dev/null +++ b/windows/9.2.x/sitecore-xm-jss-sqldev/Extract-Databases.ps1 @@ -0,0 +1,35 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$Path +) + +Add-Type -Assembly "System.IO.Compression" +Add-Type -Assembly "System.IO.Compression.FileSystem" + +Get-ChildItem -Path $Path -Filter "*.zip" | ForEach-Object { + $zipPath = $_.FullName + + try + { + $stream = New-Object IO.FileStream($zipPath, [IO.FileMode]::Open) + $zip = New-Object IO.Compression.ZipArchive($stream, [IO.Compression.ZipArchiveMode]::Read) + + ($zip.Entries | Where-Object { $_.FullName -like "*.dacpac" }) | Foreach-Object { + [IO.Compression.ZipFileExtensions]::ExtractToFile($_, (Join-Path $Path $_.Name), $true) + } + } + finally + { + if ($zip -ne $null) + { + $zip.Dispose() + } + + if ($stream -ne $null) + { + $stream.Dispose() + } + } +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xm-jss-sqldev/Install-Databases.ps1 b/windows/9.2.x/sitecore-xm-jss-sqldev/Install-Databases.ps1 new file mode 100644 index 000000000..d9ef08c20 --- /dev/null +++ b/windows/9.2.x/sitecore-xm-jss-sqldev/Install-Databases.ps1 @@ -0,0 +1,61 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$InstallPath, + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$DataPath, + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$ModulePath, + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string]$DatabasePrefix +) + +[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | Out-Null + +$server = New-Object Microsoft.SqlServer.Management.Smo.Server($env:COMPUTERNAME) +$server.Properties["DefaultFile"].Value = $InstallPath +$server.Properties["DefaultLog"].Value = $InstallPath +$server.Alter() + +$sqlPackageExePath = Get-Item "C:\Program Files\Microsoft SQL Server\*\DAC\bin\SqlPackage.exe" | Select-Object -Last 1 -Property FullName -ExpandProperty FullName + +# attach +Get-ChildItem -Path $InstallPath -Filter "*.mdf" | ForEach-Object { + $databaseName = $_.BaseName.Replace("_Primary", "") + $mdfPath = $_.FullName + $ldfPath = $mdfPath.Replace(".mdf", ".ldf") + $sqlcmd = "IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = '$databaseName') BEGIN EXEC sp_detach_db [$databaseName] END;CREATE DATABASE [$databaseName] ON (FILENAME = N'$mdfPath'), (FILENAME = N'$ldfPath') FOR ATTACH;" + + Write-Host "### Attaching '$databaseName'..." + + Invoke-Sqlcmd -Query $sqlcmd +} + +# do modules +$TextInfo = (Get-Culture).TextInfo +Get-ChildItem -Path $ModulePath -Include "core.dacpac", "master.dacpac" -Recurse | ForEach-Object { + + $dacpacPath = $_.FullName + $databaseName = "$DatabasePrefix`." + $TextInfo.ToTitleCase($_.BaseName) + + # Install + & $sqlPackageExePath /a:Publish /sf:$dacpacPath /tdn:$databaseName /tsn:$env:COMPUTERNAME /q +} + +# detach DB +Get-ChildItem -Path $InstallPath -Filter "*.mdf" | ForEach-Object { + $databaseName = $_.BaseName.Replace("_Primary", "") + + Write-Host "### Detach: $databaseName" + + Invoke-Sqlcmd -Query "EXEC MASTER.dbo.sp_detach_db @dbname = N'$databaseName', @keepfulltextindexfile = N'false'" +} + +$server = New-Object Microsoft.SqlServer.Management.Smo.Server($env:COMPUTERNAME) +$server.Properties["DefaultFile"].Value = $DataPath +$server.Properties["DefaultLog"].Value = $DataPath +$server.Alter() \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xm-jss-sqldev/build.json b/windows/9.2.x/sitecore-xm-jss-sqldev/build.json new file mode 100644 index 000000000..127b0407a --- /dev/null +++ b/windows/9.2.x/sitecore-xm-jss-sqldev/build.json @@ -0,0 +1,14 @@ +{ + "tags": [ + { + "tag": "sitecore-xm-jss-sqldev:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--memory 4GB", + "--build-arg BASE_IMAGE=sitecore-xm-sqldev:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522.scwdp.zip'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xm-jss/Dockerfile b/windows/9.2.x/sitecore-xm-jss/Dockerfile new file mode 100644 index 000000000..8f77f4573 --- /dev/null +++ b/windows/9.2.x/sitecore-xm-jss/Dockerfile @@ -0,0 +1,29 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BASE_IMAGE as build + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG ASSETS_USE_WDP + +COPY --from=assets ["${ASSETS_USE_WDP}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Expand-Archive -Path 'C:\\temp\\packages\\*.zip' -DestinationPath 'C:\\temp'; ` + Copy-Item -Path 'C:\\temp\\Content\\Website\\*' -Destination 'C:\\inetpub\\wwwroot' -Recurse -Force; + +# copy tools and transforms +COPY --from=assets ["C:\\install\\tools\\", "C:\\install\\tools\\"] + +# find transform files and do transformation +RUN (Get-ChildItem -Path 'C:\\inetpub\\wwwroot\\*.xdt' -Recurse ) | ForEach-Object { & 'C:\\install\\tools\\scripts\\Invoke-XdtTransform.ps1' -Path 'C:\\inetpub\\wwwroot\\web.config' -XdtPath $_.FullName -XdtDllPath 'C:\\install\\tools\\bin\\Microsoft.Web.XmlTransform.dll'; }; + +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=build ["C:\\inetpub\\wwwroot\\", "C:\\inetpub\\wwwroot\\"] + diff --git a/windows/9.2.x/sitecore-xm-jss/build.json b/windows/9.2.x/sitecore-xm-jss/build.json new file mode 100644 index 000000000..9faf6b465 --- /dev/null +++ b/windows/9.2.x/sitecore-xm-jss/build.json @@ -0,0 +1,25 @@ +{ + "tags": [ + { + "tag": "sitecore-xm-jss-cm:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xm-cm:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522.scwdp.zip'", + "--build-arg SC_ROLE_CONFIG_DIRECTORY=\\config\\cm", + "--build-arg SC_ROLE_DEFINE='ContentManagement, Indexing'" + ] + }, + { + "tag": "sitecore-xm-jss-cd:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xm-cd:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522 CD.scwdp.zip'", + "--build-arg SC_ROLE_CONFIG_DIRECTORY=.\\config\\cd", + "--build-arg SC_ROLE_DEFINE='ContentDelivery'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-jss-sqldev/Dockerfile b/windows/9.2.x/sitecore-xp-jss-sqldev/Dockerfile new file mode 100644 index 000000000..80411e619 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-jss-sqldev/Dockerfile @@ -0,0 +1,22 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BASE_IMAGE as build + +ARG ASSETS_USE_WDP + +ENV INSTALL_PATH='C:\\install\\' ` + INSTALL_MODULE_PATH='C:\\install-module\\' ` + DATA_PATH='C:\\data\\' ` + TEMP_PATH='c:\\temp' + +COPY --from=assets ["${ASSETS_USE_WDP}", "${INSTALL_MODULE_PATH}"] + +COPY . ${INSTALL_MODULE_PATH} + +RUN & (Join-Path $env:INSTALL_MODULE_PATH "\\Extract-Databases.ps1") -Path $env:INSTALL_MODULE_PATH; ` + & (Join-Path $env:INSTALL_MODULE_PATH "\\Install-Databases.ps1") -InstallPath $env:INSTALL_PATH -DataPath $env:DATA_PATH -ModulePath $env:INSTALL_MODULE_PATH -DatabasePrefix Sitecore; ` + Get-ChildItem -Path $env:INSTALL_PATH -Exclude "*.mdf", "*.ldf" | Remove-Item -Force; ` + Get-ChildItem -Path $env:INSTALL_MODULE_PATH | Remove-Item -Force; \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-jss-sqldev/Extract-Databases.ps1 b/windows/9.2.x/sitecore-xp-jss-sqldev/Extract-Databases.ps1 new file mode 100644 index 000000000..9b7b11d7c --- /dev/null +++ b/windows/9.2.x/sitecore-xp-jss-sqldev/Extract-Databases.ps1 @@ -0,0 +1,35 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$Path +) + +Add-Type -Assembly "System.IO.Compression" +Add-Type -Assembly "System.IO.Compression.FileSystem" + +Get-ChildItem -Path $Path -Filter "*.zip" | ForEach-Object { + $zipPath = $_.FullName + + try + { + $stream = New-Object IO.FileStream($zipPath, [IO.FileMode]::Open) + $zip = New-Object IO.Compression.ZipArchive($stream, [IO.Compression.ZipArchiveMode]::Read) + + ($zip.Entries | Where-Object { $_.FullName -like "*.dacpac" }) | Foreach-Object { + [IO.Compression.ZipFileExtensions]::ExtractToFile($_, (Join-Path $Path $_.Name), $true) + } + } + finally + { + if ($zip -ne $null) + { + $zip.Dispose() + } + + if ($stream -ne $null) + { + $stream.Dispose() + } + } +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-jss-sqldev/Install-Databases.ps1 b/windows/9.2.x/sitecore-xp-jss-sqldev/Install-Databases.ps1 new file mode 100644 index 000000000..d9ef08c20 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-jss-sqldev/Install-Databases.ps1 @@ -0,0 +1,61 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$InstallPath, + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$DataPath, + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$ModulePath, + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string]$DatabasePrefix +) + +[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | Out-Null + +$server = New-Object Microsoft.SqlServer.Management.Smo.Server($env:COMPUTERNAME) +$server.Properties["DefaultFile"].Value = $InstallPath +$server.Properties["DefaultLog"].Value = $InstallPath +$server.Alter() + +$sqlPackageExePath = Get-Item "C:\Program Files\Microsoft SQL Server\*\DAC\bin\SqlPackage.exe" | Select-Object -Last 1 -Property FullName -ExpandProperty FullName + +# attach +Get-ChildItem -Path $InstallPath -Filter "*.mdf" | ForEach-Object { + $databaseName = $_.BaseName.Replace("_Primary", "") + $mdfPath = $_.FullName + $ldfPath = $mdfPath.Replace(".mdf", ".ldf") + $sqlcmd = "IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = '$databaseName') BEGIN EXEC sp_detach_db [$databaseName] END;CREATE DATABASE [$databaseName] ON (FILENAME = N'$mdfPath'), (FILENAME = N'$ldfPath') FOR ATTACH;" + + Write-Host "### Attaching '$databaseName'..." + + Invoke-Sqlcmd -Query $sqlcmd +} + +# do modules +$TextInfo = (Get-Culture).TextInfo +Get-ChildItem -Path $ModulePath -Include "core.dacpac", "master.dacpac" -Recurse | ForEach-Object { + + $dacpacPath = $_.FullName + $databaseName = "$DatabasePrefix`." + $TextInfo.ToTitleCase($_.BaseName) + + # Install + & $sqlPackageExePath /a:Publish /sf:$dacpacPath /tdn:$databaseName /tsn:$env:COMPUTERNAME /q +} + +# detach DB +Get-ChildItem -Path $InstallPath -Filter "*.mdf" | ForEach-Object { + $databaseName = $_.BaseName.Replace("_Primary", "") + + Write-Host "### Detach: $databaseName" + + Invoke-Sqlcmd -Query "EXEC MASTER.dbo.sp_detach_db @dbname = N'$databaseName', @keepfulltextindexfile = N'false'" +} + +$server = New-Object Microsoft.SqlServer.Management.Smo.Server($env:COMPUTERNAME) +$server.Properties["DefaultFile"].Value = $DataPath +$server.Properties["DefaultLog"].Value = $DataPath +$server.Alter() \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-jss-sqldev/build.json b/windows/9.2.x/sitecore-xp-jss-sqldev/build.json new file mode 100644 index 000000000..a31bff00b --- /dev/null +++ b/windows/9.2.x/sitecore-xp-jss-sqldev/build.json @@ -0,0 +1,14 @@ +{ + "tags": [ + { + "tag": "sitecore-xp-jss-sqldev:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--memory 4GB", + "--build-arg BASE_IMAGE=sitecore-xp-sqldev:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522.scwdp.zip'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-jss/Dockerfile b/windows/9.2.x/sitecore-xp-jss/Dockerfile new file mode 100644 index 000000000..a9fcb1599 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-jss/Dockerfile @@ -0,0 +1,22 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BASE_IMAGE as build + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG ASSETS_USE_WDP + +COPY --from=assets ["${ASSETS_USE_WDP}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Expand-Archive -Path 'C:\\temp\\packages\\*.zip' -DestinationPath 'C:\\temp'; ` + Copy-Item -Path 'C:\\temp\\Content\\Website\\*' -Destination 'C:\\inetpub\\wwwroot' -Recurse -Force; + +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=build ["C:\\inetpub\\wwwroot\\", "C:\\inetpub\\wwwroot\\"] \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-jss/build.json b/windows/9.2.x/sitecore-xp-jss/build.json new file mode 100644 index 000000000..06dec1c51 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-jss/build.json @@ -0,0 +1,25 @@ +{ + "tags": [ + { + "tag": "sitecore-xp-jss-standalone:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xp-standalone:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522.scwdp.zip'", + "--build-arg SC_ROLE_CONFIG_DIRECTORY=\\config\\cm", + "--build-arg SC_ROLE_DEFINE='ContentManagement, Indexing'" + ] + }, + { + "tag": "sitecore-xp-jss-cd:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xp-cd:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522 CD.scwdp.zip'", + "--build-arg SC_ROLE_CONFIG_DIRECTORY=\\config\\cd", + "--build-arg SC_ROLE_DEFINE='ContentDelivery'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/tests/9.x.x/docker-compose-jss.xp.yml b/windows/tests/9.x.x/docker-compose-jss.xp.yml new file mode 100644 index 000000000..f942bbf2a --- /dev/null +++ b/windows/tests/9.x.x/docker-compose-jss.xp.yml @@ -0,0 +1,73 @@ +version: '2.4' + +services: + + sql: + image: ${REGISTRY}sitecore-xp-jss-sqldev:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - .\data\sql:C:\Data + mem_limit: 2GB + ports: + - "44010:1433" + + solr: + image: ${REGISTRY}sitecore-xp-solr:${SITECORE_VERSION}-nanoserver-${NANOSERVER_VERSION} + volumes: + - .\data\solr:C:\Data + mem_limit: 1GB + ports: + - "44011:8983" + + xconnect: + image: ${REGISTRY}sitecore-xp-xconnect:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect:C:\inetpub\wwwroot\App_Data\logs + mem_limit: 1GB + links: + - sql + - solr + + xconnect-automationengine: + image: ${REGISTRY}sitecore-xp-xconnect-automationengine:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-automationengine:C:\AutomationEngine\App_Data\logs + mem_limit: 500MB + links: + - sql + - xconnect + + xconnect-indexworker: + image: ${REGISTRY}sitecore-xp-xconnect-indexworker:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-indexworker:C:\IndexWorker\App_Data\logs + mem_limit: 500MB + links: + - sql + - solr + + cd: + image: ${REGISTRY}sitecore-xp-jss-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\cd:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44002:80" + links: + - sql + - solr + - xconnect + + cm: + image: ${REGISTRY}sitecore-xp-jss-standalone:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\cm:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44001:80" + links: + - sql + - solr + - xconnect diff --git a/windows/tests/9.x.x/docker-compose.jss.xm.yml b/windows/tests/9.x.x/docker-compose.jss.xm.yml new file mode 100644 index 000000000..f9bcbbace --- /dev/null +++ b/windows/tests/9.x.x/docker-compose.jss.xm.yml @@ -0,0 +1,46 @@ +version: '2.4' + +services: + + sql: + image: ${REGISTRY}sitecore-xm-jss-sqldev:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - .\data\sql:C:\Data + mem_limit: 2GB + ports: + - "44010:1433" + + solr: + image: ${REGISTRY}sitecore-xm-solr:${SITECORE_VERSION}-nanoserver-${NANOSERVER_VERSION} + volumes: + - .\data\solr:C:\Data + mem_limit: 1GB + ports: + - "44011:8983" + + # cd: + # image: ${REGISTRY}sitecore-xm-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + # volumes: + # - C:\license:C:\license + # - .\data\cd:C:\inetpub\wwwroot\App_Data\logs + # ports: + # - "44002:80" + # links: + # - sql + # - solr + + cm: + image: ${REGISTRY}sitecore-xm-jss-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - C:\license:C:\license + - .\data\cm:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44001:80" + links: + - sql + - solr + +networks: + default: + external: + name: nat \ No newline at end of file diff --git a/windows/tests/9.x.x/docker-compose.spe.xm.yml b/windows/tests/9.x.x/docker-compose.spe.xm.yml index 4a965ffd6..f7ea64974 100644 --- a/windows/tests/9.x.x/docker-compose.spe.xm.yml +++ b/windows/tests/9.x.x/docker-compose.spe.xm.yml @@ -3,7 +3,7 @@ version: '2.4' services: sql: - image: ${REGISTRY}sitecore-spe-xm-sqldev:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + image: ${REGISTRY}sitecore-xm-spe-sqldev:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - .\data\sql:C:\Data mem_limit: 2GB @@ -30,7 +30,7 @@ services: # - solr cm: - image: ${REGISTRY}sitecore-spe-xm-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + image: ${REGISTRY}sitecore-xm-spe-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - C:\license:C:\license - .\data\cm:C:\inetpub\wwwroot\App_Data\logs From 5065cf14870cdb4ed9f0c954f3f82fc1601933fb Mon Sep 17 00:00:00 2001 From: Bart Plasmeijer Date: Tue, 22 Oct 2019 16:49:37 +0200 Subject: [PATCH 02/14] apply fixes --- windows/9.2.x/sitecore-xp-jss/build.json | 2 +- windows/tests/9.x.x/docker-compose.jss.xm.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/9.2.x/sitecore-xp-jss/build.json b/windows/9.2.x/sitecore-xp-jss/build.json index 06dec1c51..956a19538 100644 --- a/windows/9.2.x/sitecore-xp-jss/build.json +++ b/windows/9.2.x/sitecore-xp-jss/build.json @@ -7,7 +7,7 @@ "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522.scwdp.zip'", "--build-arg SC_ROLE_CONFIG_DIRECTORY=\\config\\cm", - "--build-arg SC_ROLE_DEFINE='ContentManagement, Indexing'" + "--build-arg SC_ROLE_DEFINE='Standalone'" ] }, { diff --git a/windows/tests/9.x.x/docker-compose.jss.xm.yml b/windows/tests/9.x.x/docker-compose.jss.xm.yml index f9bcbbace..2e6fc777b 100644 --- a/windows/tests/9.x.x/docker-compose.jss.xm.yml +++ b/windows/tests/9.x.x/docker-compose.jss.xm.yml @@ -19,7 +19,7 @@ services: - "44011:8983" # cd: - # image: ${REGISTRY}sitecore-xm-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + # image: ${REGISTRY}sitecore-xm-jss-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} # volumes: # - C:\license:C:\license # - .\data\cd:C:\inetpub\wwwroot\App_Data\logs From 7271a253a6f695bb6c08cb10f21f7f5bb4188c8e Mon Sep 17 00:00:00 2001 From: Bart Plasmeijer Date: Tue, 22 Oct 2019 16:57:30 +0200 Subject: [PATCH 03/14] uncommented CDs from compose files --- windows/tests/9.x.x/docker-compose.jss.xm.yml | 20 ++++++++--------- windows/tests/9.x.x/docker-compose.spe.xm.yml | 20 ++++++++--------- windows/tests/9.x.x/docker-compose.sxa.xm.yml | 20 ++++++++--------- windows/tests/9.x.x/docker-compose.sxa.xp.yml | 22 +++++++++---------- 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/windows/tests/9.x.x/docker-compose.jss.xm.yml b/windows/tests/9.x.x/docker-compose.jss.xm.yml index 2e6fc777b..d04322144 100644 --- a/windows/tests/9.x.x/docker-compose.jss.xm.yml +++ b/windows/tests/9.x.x/docker-compose.jss.xm.yml @@ -18,16 +18,16 @@ services: ports: - "44011:8983" - # cd: - # image: ${REGISTRY}sitecore-xm-jss-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} - # volumes: - # - C:\license:C:\license - # - .\data\cd:C:\inetpub\wwwroot\App_Data\logs - # ports: - # - "44002:80" - # links: - # - sql - # - solr + cd: + image: ${REGISTRY}sitecore-xm-jss-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - C:\license:C:\license + - .\data\cd:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44002:80" + links: + - sql + - solr cm: image: ${REGISTRY}sitecore-xm-jss-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} diff --git a/windows/tests/9.x.x/docker-compose.spe.xm.yml b/windows/tests/9.x.x/docker-compose.spe.xm.yml index f7ea64974..e7ffb71ed 100644 --- a/windows/tests/9.x.x/docker-compose.spe.xm.yml +++ b/windows/tests/9.x.x/docker-compose.spe.xm.yml @@ -18,16 +18,16 @@ services: ports: - "44011:8983" - # cd: - # image: ${REGISTRY}sitecore-xm-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} - # volumes: - # - C:\license:C:\license - # - .\data\cd:C:\inetpub\wwwroot\App_Data\logs - # ports: - # - "44002:80" - # links: - # - sql - # - solr + cd: + image: ${REGISTRY}sitecore-xm-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - C:\license:C:\license + - .\data\cd:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44002:80" + links: + - sql + - solr cm: image: ${REGISTRY}sitecore-xm-spe-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} diff --git a/windows/tests/9.x.x/docker-compose.sxa.xm.yml b/windows/tests/9.x.x/docker-compose.sxa.xm.yml index e4d178665..75ef66577 100644 --- a/windows/tests/9.x.x/docker-compose.sxa.xm.yml +++ b/windows/tests/9.x.x/docker-compose.sxa.xm.yml @@ -18,16 +18,16 @@ services: ports: - "44011:8983" - # cd: - # image: ${REGISTRY}sitecore-xm-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} - # volumes: - # - C:\license:C:\license - # - .\data\cd:C:\inetpub\wwwroot\App_Data\logs - # ports: - # - "44002:80" - # links: - # - sql - # - solr + cd: + image: ${REGISTRY}sitecore-xm-sxa-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - C:\license:C:\license + - .\data\cd:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44002:80" + links: + - sql + - solr cm: image: ${REGISTRY}sitecore-xm-sxa-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} diff --git a/windows/tests/9.x.x/docker-compose.sxa.xp.yml b/windows/tests/9.x.x/docker-compose.sxa.xp.yml index 2681fb3ec..1586bf9fe 100644 --- a/windows/tests/9.x.x/docker-compose.sxa.xp.yml +++ b/windows/tests/9.x.x/docker-compose.sxa.xp.yml @@ -48,17 +48,17 @@ services: - sql - solr - # cd: - # image: ${REGISTRY}sitecore-xp-sxa-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} - # volumes: - # - C:\license:C:\license - # - .\data\cd:C:\inetpub\wwwroot\App_Data\logs - # ports: - # - "44002:80" - # links: - # - sql - # - solr - # - xconnect + cd: + image: ${REGISTRY}sitecore-xp-sxa-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - C:\license:C:\license + - .\data\cd:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44002:80" + links: + - sql + - solr + - xconnect cm: image: ${REGISTRY}sitecore-xp-sxa-standalone:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} From 4f2f6e084e196aa3b4b6eab31fda4c5c33275108 Mon Sep 17 00:00:00 2001 From: Bart Plasmeijer Date: Tue, 22 Oct 2019 22:57:13 +0200 Subject: [PATCH 04/14] update to ${LICENSE_PATH} --- windows/tests/9.x.x/docker-compose.jss.xm.yml | 4 ++-- windows/tests/9.x.x/docker-compose.spe.xm.yml | 4 ++-- windows/tests/9.x.x/docker-compose.sxa.xm.yml | 4 ++-- windows/tests/9.x.x/docker-compose.sxa.xp.yml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/windows/tests/9.x.x/docker-compose.jss.xm.yml b/windows/tests/9.x.x/docker-compose.jss.xm.yml index d04322144..f28ba2722 100644 --- a/windows/tests/9.x.x/docker-compose.jss.xm.yml +++ b/windows/tests/9.x.x/docker-compose.jss.xm.yml @@ -21,7 +21,7 @@ services: cd: image: ${REGISTRY}sitecore-xm-jss-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - - C:\license:C:\license + - ${LICENSE_PATH}:C:\license - .\data\cd:C:\inetpub\wwwroot\App_Data\logs ports: - "44002:80" @@ -32,7 +32,7 @@ services: cm: image: ${REGISTRY}sitecore-xm-jss-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - - C:\license:C:\license + - ${LICENSE_PATH}:C:\license - .\data\cm:C:\inetpub\wwwroot\App_Data\logs ports: - "44001:80" diff --git a/windows/tests/9.x.x/docker-compose.spe.xm.yml b/windows/tests/9.x.x/docker-compose.spe.xm.yml index e7ffb71ed..dcbdf1437 100644 --- a/windows/tests/9.x.x/docker-compose.spe.xm.yml +++ b/windows/tests/9.x.x/docker-compose.spe.xm.yml @@ -21,7 +21,7 @@ services: cd: image: ${REGISTRY}sitecore-xm-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - - C:\license:C:\license + - ${LICENSE_PATH}:C:\license - .\data\cd:C:\inetpub\wwwroot\App_Data\logs ports: - "44002:80" @@ -32,7 +32,7 @@ services: cm: image: ${REGISTRY}sitecore-xm-spe-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - - C:\license:C:\license + - ${LICENSE_PATH}:C:\license - .\data\cm:C:\inetpub\wwwroot\App_Data\logs ports: - "44001:80" diff --git a/windows/tests/9.x.x/docker-compose.sxa.xm.yml b/windows/tests/9.x.x/docker-compose.sxa.xm.yml index 75ef66577..a4ff0862b 100644 --- a/windows/tests/9.x.x/docker-compose.sxa.xm.yml +++ b/windows/tests/9.x.x/docker-compose.sxa.xm.yml @@ -21,7 +21,7 @@ services: cd: image: ${REGISTRY}sitecore-xm-sxa-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - - C:\license:C:\license + - ${LICENSE_PATH}:C:\license - .\data\cd:C:\inetpub\wwwroot\App_Data\logs ports: - "44002:80" @@ -32,7 +32,7 @@ services: cm: image: ${REGISTRY}sitecore-xm-sxa-cm:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - - C:\license:C:\license + - ${LICENSE_PATH}:C:\license - .\data\cm:C:\inetpub\wwwroot\App_Data\logs - .\data\src:C:\src ports: diff --git a/windows/tests/9.x.x/docker-compose.sxa.xp.yml b/windows/tests/9.x.x/docker-compose.sxa.xp.yml index 1586bf9fe..70d4c4e96 100644 --- a/windows/tests/9.x.x/docker-compose.sxa.xp.yml +++ b/windows/tests/9.x.x/docker-compose.sxa.xp.yml @@ -51,7 +51,7 @@ services: cd: image: ${REGISTRY}sitecore-xp-sxa-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - - C:\license:C:\license + - ${LICENSE_PATH}:C:\license - .\data\cd:C:\inetpub\wwwroot\App_Data\logs ports: - "44002:80" @@ -63,7 +63,7 @@ services: cm: image: ${REGISTRY}sitecore-xp-sxa-standalone:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: - - C:\license:C:\license + - ${LICENSE_PATH}:C:\license - .\data\cm:C:\inetpub\wwwroot\App_Data\logs ports: - "44001:80" From 05a701cb3186f26035d5e703ee7926122d08538c Mon Sep 17 00:00:00 2001 From: Per Manniche Bering Date: Fri, 25 Oct 2019 12:36:19 +0200 Subject: [PATCH 05/14] fixes #89 --- CHANGELOG.md | 1 + IMAGES.md | Bin 34844 -> 17293 bytes README.md | Bin 11518 -> 5625 bytes .../tools/scripts/Watch-Directory.ps1 | 21 +++++++++--------- .../tools/scripts/Watch-Directory.ps1 | 21 +++++++++--------- .../tools/scripts/Watch-Directory.ps1 | 21 +++++++++--------- 6 files changed, 34 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 709718c66..cc86c39a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## October 2019 +- [Changed] The `c:\tools\scripts\Watch-Directory.ps1` no longer deletes destination directories, only files. See [#89](https://github.com/Sitecore/docker-images/issues/89). Thanks [@sshushliapin](https://github.com/sshushliapin) :+1: - [Fixed] The `c:\tools` folder was empty. - [**Breaking**] Windows and Linux "Sitecore PowerShell Extensions" images is now correctly tagged with `spe` instead of `pse`. - [**Breaking**] Linux variant tags aligned with Windows variant tags, variant version is not part of tag anymore, latest compatible version is always used. Old images moved to `./legacy/linux`. diff --git a/IMAGES.md b/IMAGES.md index a8a5107cfd179065cf5899de960146df43f8d587..e7ffbd709c1d307acfca8b007be6a3780ad6238a 100644 GIT binary patch literal 17293 zcmc&*OK;;g5Wf3Y5Xoh8knN<0CO#BsyO#n53baLg2m-8DViIj+$&uuZ0|fc)9g=#O z5{Dkrj2kTCwapoR{N_bX$aD5{p0jKnKk#}sJ3nW?6)E4%W)ZvnH!ITerEb5x`*fac ztBMy*q()zeF~4WUb~hc7i;pj6v!B>!zNvT;H#}uc{7|#F;%psPPw@UFYaZGAd)-vo z6KBn1Rc;?1-``nWz}QFrD#sRO!@h2_9DcvDl;6kOyqQa&zbZ6LhdGr~oGY5Bi8>|7 zs)X2XpdQgav4VAF@wO?~aRXkk7XN66$&vN04WV zG|s^=j@WhKa4P`4bnwr4%D?*nmx4h-N43;R#-5}exRW#}W*S&;59tMifu;fW@`@up zVmHc}F5a-=M}(m!9E|9w-f$Y(Vty~ed%>WfUBd8NUHcQS3x`_+=p_*^=l3Cg5DW_1 zm3Zg;Cvb<%e^jEKfd&Lg@Pu_FE3vyL>Q>cymry^e?*cCy8h=+?i-46cjTZtZTZEU<0NL&_@F6%xXZ_r2%whGF%y669783aVGsTq{)K% ztfhhWKelhI%NqAp04& zSlrh~$4mT;V}~FBB+(dVOTfZe9xdgLx^j=KE@W$wzCk*eQ);Sn^5DH`L zK_AK3vfg3cdJ~~aAQ)CUNSBl(K?X`mpo;|3DP#hL3k{eHb78g@g!Woo*StA=>`V=7 z-ED|=`=dA<$Qn*NDGdasEM0=}0W)as$%ckGx!}jkj_DGZ5}pay$uP++h1~p167dAr zFxFs7I$xj$mPfFq8c4!*EMHVih{KPmLLJ`563yW+=a<09{y9bK=Ds^r2r|PlP~rLA zRtog_oJG{PQ=LA8QO9_JY1_8XjJFd4zYBu5(?`OK)&vZztP7qvL2Sr+J5vgt5{f>0 zq5wrzJsH5xIlu)?hfAmXlTH8yX?+^;_Dq=8l%B_Ds73IobR!s~Rtt!iN+lSi zR{5oN+8hmEgK=HDH?mTh4Qu5LM8bKU$)K|Da0*~Z!b2;Sz(lv<9!qGY0*&K@=T;TQ zkZd{F&#e%W(5m2u=rBpw`vjG6eehfQ1Ro7{fHxB_YR9dviS{zzOKi1F5@GG z++J>w;M(AiK*YL+Y#70J}_o@Kwu$AP*&L|F*=d3`~GoCXN5Tn6(&TUlq(eRwp=2m})v(2wY z_?SXT(r_Fw!v~u{{BZ{S%|b&v!h?oZl0XCOu$1?rIQkLJIC@Ds4x33@bv|YRQ4piS wu$TnYctnPjqRo9EGC-4OWb~3W90$zs!6rBq8U0NU505lQ22$!|hCZA92MBAL7XSbN literal 34844 zcmeHQOK%)E4A!|o|HC4=G>45H_mISg0)1Qx6e!RZ?ZF5T*V#C3{pzlhxIodL-j)=X zmb9Z8Ni(EIHj0Il*?ExEr;ik=(a!w)&ttPNUz&6HEX-uc{gSm=y+nKk)-der1zj9 zN6Pu#*(3w4{Q|E12J~E8Z70x@8~FAH_TJc5p?$~p*uu7RZGPV#{|M4<%sV*#H+(j* zy@ow_6t8^;->#q)r?7>`Q3|%1j;+j}b`Q320sF7uiiPK+E33A9Dp6f-)~b0`}y_p7p{0 zOGloWmuBC5zCG{t7MmQ&htTiNu4Pom(y;v3py3GEdFaqh&X-h1eSM#Ah>m0-c9(Y6J2PKtD2&_Qu#-k)*4!J*;Ihc7CB9rJbfZFujF5cPQ)Bix61%%`-0cYo4PA zuzDKq0kl_^-Hd?ao;J(78r#KMZ(RHhM%>LTtRK?cVo#90lB{On%hYo`YCHDWTgq}`Z| z_DN#P`KdpvqRZ--#uix}vr_|keO7ZzT4goar-Q9_rs1${Gt-dAR-dnJ@>G(ax-~M6 z$t~8%7h)rq-ufM0HAZ9L9P4)2g8$d+xYe++6;9Mcj8=JnrB=9<=Ok=Pjh;(cFBPp~ zo>rD0GAgA#)H42(=<<4j>FaTFksi|666$294%TjtK!?o^W2dP-Z1wK2xb|PcN~iU9 zzHiEEa9VS^D>uY6CV%Woa9oi(G}nZYaRck-uyq<7Ezc24{eN7J$Xet_ISqgBt`pMo z_pYXpo9XptQPg5&=?6Xe?X}J+Uw0rK6pR6G( zG>|L5r^Zz{F*<&q!pCsjJvG)MTkAW!bg(SF=gY0k$8yZQUeiKQMN+ZtzNG1KB*OY<61>)wv-Z*^Dp z2~#vm#Ad(gNP0B!rG-&0CUxq)$$iL6x=-TrZII#>-R0rm&*kPXsVAmQS$#0(X=(GV zK9EMNB;&g;NKqXl&#{=?Jm1tnj;x{nlk!eqW;%wYz0#NWkdX2t<8+*SX}Tz3^)DCe zpMkVz+qGle(Su{Mn@J+1()TRsywYbi`n4UQNcPow9^=s56^(ihiClk8Ax!?|c_PcsjtE4DORWmzHFNsNk(lVV~zzoPSUGdN!Z#mN#ZSxb5LJ5;x7dbVz*#n?&bb||;+ zIp1SOVzQH%(pTk|$3SKS$?dOBU8Ti%rCB{CGbSx<#=LyY#>6_7UhbbYF!S>x;!MnM za^smVEsSI_sXBb}ZIH}I@}t(6`hmT$52vw}7Rs#`wS4T;Y)aweOUq-^6qF7`*4(`4 ztsAcFud^@VH?pyV-hh&vSAbj5vu8_`ow_|8aj@QZIlwwh6 z+b~XJ_@j#xy&3WOmM<4}O&eC8%kBHHR*dG(azwf^^bzUm z)InsduY~s1@)^=f+GOzz|WSURhcV7tO@Hj?< WGU_lQ)R|&Lye8|f|6J}*_1J%0fufWE diff --git a/README.md b/README.md index 45bd8d51a884f645545f2b117293d2e4a392dc18..52ed2343f4dc63688761cd5fad0c4155257024b4 100644 GIT binary patch literal 5625 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 literal 11518 zcmb`NYfl`>6^83`r2L0oAj;ax%-Fk86r){77+9MXHpGnMSg;DW0gns}VFm-y{`MsA zQ)doUUEN%4R-<9MtLt*E@3}Pp`|oV1!rL$ir(qPvVHhU*JquSF9fbq^-H2m@uouS% z8d=iSUihRnXSy4P_4Mt6U{o)U&iciqTiWp%{O5) ztZKhK?RBDOgE;qfSP6aY^=4=^u;kyUYv?N|mqfYmt-UhOOhgnYBjvZ0ji5fkOHfdIL^;J^Led$0pg55n->+O4@ zbLf7E&XLA}BzrD8C$iknx<3=Wc-+ZvAnCOCA7l$piv2s`nPmK(zE6TZ=Ty6bp0Rw6 zRZlgqr@w#I^|OrQ`}y`w2!?O(--uo>Bonl^FR5Hf8Xy1&dZAUfA!a3cg143E|0roz z!ZdIg>4Hs$g-uzH^}HRQyLz&rmF%@C?0g*-!ppF%v99(ue`t<^Lr%$#_&Cyij_j2v zfhTA>5p_o~LhMLGJCX05XjdRf6+VcvbN%9jaL;~Yja3>2)s5Gou8qfL`m&!l`djJmntrjQ zN@Fi{_b!h2McYaoeXFOe+K4fm)gP`o>u6P9wBDxo3uywY*ppNSx;EOJa{S{c%7$Eo z3}K}Ep{Tc+m7X6=tr#>w!`RFDRL{*!#{4t9`NOp6G-}Xf}Ni0sf-z_xe6*jZF{R@loM3v!Z%Y zRHHk5tWwrF(v|1L>ya+(n`ep7MR^Y%21c(+@-MZo+Ri3(wzy$&p$*0FqNN!Z zK$zxe+xeEsfokxd(Di*B*_SLXL|>URq?+L_Z18B3qcc`d1_WMx7@+CFja! zwR4r*z^f<=?Ap-XvB~HlwsMlkA&Xte-!qOTex%$3q_aw6{@Rze10QhUQh%{(v_|xK z86#0YMjk5A5-&R82VweJj8f)pAHs93?MR;sTD3BbcE4!k2i>p9Czmy2UUwGNmZfPT z+j97q)-3Ca@ilqy^SFlS*L(tvMz#CkaxH$`&Kovb&ll>^Cs|CB-%D8%dOQ{nDSz%1 z76Tr6W`x!_k(%t8u=D$=gtx@k-JhOxar4alX?}g5eNE5Aw(|39W2Br>g|<0uW4`j& zDc9VW^6y0nQP-O-g9r9uW;34!@AovLUN6}S{JwnBv=+_nFa^=29io6(?iaKqX5kJ@lQPU@<51O)>&{JRjr*@8l0v zM4Hdqt+Ymu)|KXMMBjNMe|xQ~nbuR*wfk6~izsgpHH zFce87UwkSata_u4134{j5aY?gz;5XCm8V>@O&Lm{D85qUkr zIU^w)IVd&;1=iVcEQMyCgQZYU_kh@Y6m1r2q0@RIXv{JbGF$8yaENX1pT%cDqI@&x{svF4b^8>gdbM4(q-)urpco-Mf^-1qQf%LlRHRFTn*VK48- zK-;S9a8U^RMp`9j0TZd%@oFfhkB|M0!~^r^bkFYdH?I6qIJy)$K9=0Jw66{X*sgJXGobS@e+y?-cdJtCRxvmZ09QcQ!yrCnDKf0?j6~z zpHM~Q#(z_Wy(P^X7L6qV@~X@D-I5;D+mVuLvw^Oph9yv=pH3x%WqJh150eMkth>F> zZQFNQj}ZVo;LQbb%CwX!E-L*6ed%-5`&EpTUCXx22Gm%X>Mr3M5KY-@WI0WLMjD1233Cz>A_2Mwa18c&ghm!%6_MT$pEziFI{6m)T*^>bnR=zo zUJ6)qTYg66)O_D|_bQh|vgTP)QjeK#r-s3+Q5J3y^_f-d+<^b&7UeU%#4DESy6>O7 zyb{J;$*!42b!S*W#B5rW$; W_OI>?UD7tnZ61AUY<5XBr#GZ%)A}Mj1M8rI zKGkq)H+6Zf#*@#5DC8-;SM+E=miDNKVw*zrW;SnJVl{1=gc|JdTt1p=N9q=<3M{)I z|LE!T=BRa-@!K+!bU${VZ>Nn6WnZTwtvna3Tf=W9Q`b0Nd3cR0?cV1IfYsD3wXYG@ zcTVi zCp9vjd!i?ox_5l?Cv<8+>MK2ii@BP_y#}iE-vxO0&pMC2I`U#93BJ$inyQtqAf3&L zYU)v>lJmEuqdXIt$q)f)m3ToUhM$z{V`Cr*Z~l=%;tOr&^(#E#Jzy5r&U~|Tk85Nx z*b_2>Dx2Z{k>VhTVsAUlDv(N!u5ESVLuAzCB;n?4WA`gbX;;s{%Rfd* zCEPHq%X=W6)t^Nh;H^jArR5CjNcThE(Xo;W2aHHP70ZYHM6AhZx3|i8L!O7AtA5mj zduCamo32X>Ntv3XITmL90IxYs_o=Qh&+h19e*Qd1S+YwI^eSoU+DS>Rgj)TBqC5$=^A+4Zths`q|h@9+McKllNMUMb*HJchT2# zgaGw(i@GbPZtIkOIUU57dLQ-6>1gkzx;*fIGDY6O=6R9jN_oD=ij{0O|BaWj!LN;p z`3Y3yrN?lhRaP&A=w>U>M)V{b`zg{+E>%hwL^f?&wv)$4dUBR)Sia%D;9i`3!sCno zA4}@hmOW&=g&g2M@iF1F;d5CBLKXbnR~lQ=485OG>4eltt4=@8idJ?b`IX=C0+O-13s; zBou3pwhz&7@`a|HlGbj@U`rWbJJ^T4OK8vNzD~1PUY_ZoVeqv+R?^dE4@he}ez^KS Dfvku1 diff --git a/windows/9.0.2/sitecore-assets/tools/scripts/Watch-Directory.ps1 b/windows/9.0.2/sitecore-assets/tools/scripts/Watch-Directory.ps1 index 9a404b23f..3671e590b 100644 --- a/windows/9.0.2/sitecore-assets/tools/scripts/Watch-Directory.ps1 +++ b/windows/9.0.2/sitecore-assets/tools/scripts/Watch-Directory.ps1 @@ -2,11 +2,11 @@ param( # Path to watch for changes [Parameter(Mandatory = $true)] - [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] [string]$Path, # Destination path to keep updated [Parameter(Mandatory = $true)] - [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] [string]$Destination, # Milliseconds to sleep between sync operations [Parameter(Mandatory = $false)] @@ -39,9 +39,9 @@ function Sync ) $command = @("robocopy", "`"$Path`"", "`"$Destination`"", "/E", "/XX", "/MT:1", "/NJH", "/NJS", "/FP", "/NDL", "/NP", "/NS", "/R:5", "/W:1") - + if ($ExcludeDirectories.Count -gt 0) - { + { $command += "/XD " $ExcludeDirectories | ForEach-Object { @@ -52,7 +52,7 @@ function Sync } if ($ExcludeFiles.Count -gt 0) - { + { $command += "/XF " $ExcludeFiles | ForEach-Object { @@ -61,7 +61,7 @@ function Sync $command = $command.TrimEnd() } - + $commandString = $command -join " " $dirty = $false @@ -72,7 +72,7 @@ function Sync if ($dirty) { - Write-Host ("{0}: {1}" -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $line) -ForegroundColor DarkGray + Write-Host ("{0}: {1}" -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $line) -ForegroundColor DarkGray } } @@ -100,7 +100,7 @@ $watcher.EnableRaisingEvents = $true Register-ObjectEvent $watcher Deleted -SourceIdentifier "FileDeleted" -MessageData $Destination { $destinationPath = Join-Path $event.MessageData $eventArgs.Name - $delete = !(Test-Path $eventArgs.FullPath) -and (Test-Path $destinationPath) + $delete = !(Test-Path $eventArgs.FullPath) -and (Test-Path $destinationPath) -and !(Test-Path -Path $destinationPath -PathType "Container") if ($delete) { @@ -114,6 +114,7 @@ Register-ObjectEvent $watcher Deleted -SourceIdentifier "FileDeleted" -MessageDa { Write-Host ("{0}: Could not delete '{1}'..." -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $destinationPath) -ForegroundColor Red } + } } | Out-Null @@ -129,12 +130,12 @@ try Start-Sleep -Milliseconds $SleepMilliseconds } } -finally +finally { # Cleanup Get-EventSubscriber -SourceIdentifier "FileDeleted" | Unregister-Event - if ($watcher -ne $null) + if ($null -ne $watcher) { $watcher.Dispose() $watcher = $null diff --git a/windows/9.1.1/sitecore-assets/tools/scripts/Watch-Directory.ps1 b/windows/9.1.1/sitecore-assets/tools/scripts/Watch-Directory.ps1 index 9a404b23f..3671e590b 100644 --- a/windows/9.1.1/sitecore-assets/tools/scripts/Watch-Directory.ps1 +++ b/windows/9.1.1/sitecore-assets/tools/scripts/Watch-Directory.ps1 @@ -2,11 +2,11 @@ param( # Path to watch for changes [Parameter(Mandatory = $true)] - [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] [string]$Path, # Destination path to keep updated [Parameter(Mandatory = $true)] - [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] [string]$Destination, # Milliseconds to sleep between sync operations [Parameter(Mandatory = $false)] @@ -39,9 +39,9 @@ function Sync ) $command = @("robocopy", "`"$Path`"", "`"$Destination`"", "/E", "/XX", "/MT:1", "/NJH", "/NJS", "/FP", "/NDL", "/NP", "/NS", "/R:5", "/W:1") - + if ($ExcludeDirectories.Count -gt 0) - { + { $command += "/XD " $ExcludeDirectories | ForEach-Object { @@ -52,7 +52,7 @@ function Sync } if ($ExcludeFiles.Count -gt 0) - { + { $command += "/XF " $ExcludeFiles | ForEach-Object { @@ -61,7 +61,7 @@ function Sync $command = $command.TrimEnd() } - + $commandString = $command -join " " $dirty = $false @@ -72,7 +72,7 @@ function Sync if ($dirty) { - Write-Host ("{0}: {1}" -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $line) -ForegroundColor DarkGray + Write-Host ("{0}: {1}" -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $line) -ForegroundColor DarkGray } } @@ -100,7 +100,7 @@ $watcher.EnableRaisingEvents = $true Register-ObjectEvent $watcher Deleted -SourceIdentifier "FileDeleted" -MessageData $Destination { $destinationPath = Join-Path $event.MessageData $eventArgs.Name - $delete = !(Test-Path $eventArgs.FullPath) -and (Test-Path $destinationPath) + $delete = !(Test-Path $eventArgs.FullPath) -and (Test-Path $destinationPath) -and !(Test-Path -Path $destinationPath -PathType "Container") if ($delete) { @@ -114,6 +114,7 @@ Register-ObjectEvent $watcher Deleted -SourceIdentifier "FileDeleted" -MessageDa { Write-Host ("{0}: Could not delete '{1}'..." -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $destinationPath) -ForegroundColor Red } + } } | Out-Null @@ -129,12 +130,12 @@ try Start-Sleep -Milliseconds $SleepMilliseconds } } -finally +finally { # Cleanup Get-EventSubscriber -SourceIdentifier "FileDeleted" | Unregister-Event - if ($watcher -ne $null) + if ($null -ne $watcher) { $watcher.Dispose() $watcher = $null diff --git a/windows/9.2.0/sitecore-assets/tools/scripts/Watch-Directory.ps1 b/windows/9.2.0/sitecore-assets/tools/scripts/Watch-Directory.ps1 index 9a404b23f..3671e590b 100644 --- a/windows/9.2.0/sitecore-assets/tools/scripts/Watch-Directory.ps1 +++ b/windows/9.2.0/sitecore-assets/tools/scripts/Watch-Directory.ps1 @@ -2,11 +2,11 @@ param( # Path to watch for changes [Parameter(Mandatory = $true)] - [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] [string]$Path, # Destination path to keep updated [Parameter(Mandatory = $true)] - [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] [string]$Destination, # Milliseconds to sleep between sync operations [Parameter(Mandatory = $false)] @@ -39,9 +39,9 @@ function Sync ) $command = @("robocopy", "`"$Path`"", "`"$Destination`"", "/E", "/XX", "/MT:1", "/NJH", "/NJS", "/FP", "/NDL", "/NP", "/NS", "/R:5", "/W:1") - + if ($ExcludeDirectories.Count -gt 0) - { + { $command += "/XD " $ExcludeDirectories | ForEach-Object { @@ -52,7 +52,7 @@ function Sync } if ($ExcludeFiles.Count -gt 0) - { + { $command += "/XF " $ExcludeFiles | ForEach-Object { @@ -61,7 +61,7 @@ function Sync $command = $command.TrimEnd() } - + $commandString = $command -join " " $dirty = $false @@ -72,7 +72,7 @@ function Sync if ($dirty) { - Write-Host ("{0}: {1}" -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $line) -ForegroundColor DarkGray + Write-Host ("{0}: {1}" -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $line) -ForegroundColor DarkGray } } @@ -100,7 +100,7 @@ $watcher.EnableRaisingEvents = $true Register-ObjectEvent $watcher Deleted -SourceIdentifier "FileDeleted" -MessageData $Destination { $destinationPath = Join-Path $event.MessageData $eventArgs.Name - $delete = !(Test-Path $eventArgs.FullPath) -and (Test-Path $destinationPath) + $delete = !(Test-Path $eventArgs.FullPath) -and (Test-Path $destinationPath) -and !(Test-Path -Path $destinationPath -PathType "Container") if ($delete) { @@ -114,6 +114,7 @@ Register-ObjectEvent $watcher Deleted -SourceIdentifier "FileDeleted" -MessageDa { Write-Host ("{0}: Could not delete '{1}'..." -f [DateTime]::Now.ToString("HH:mm:ss:fff"), $destinationPath) -ForegroundColor Red } + } } | Out-Null @@ -129,12 +130,12 @@ try Start-Sleep -Milliseconds $SleepMilliseconds } } -finally +finally { # Cleanup Get-EventSubscriber -SourceIdentifier "FileDeleted" | Unregister-Event - if ($watcher -ne $null) + if ($null -ne $watcher) { $watcher.Dispose() $watcher = $null From a48b76e7a6cc742bd97d5f71fa8cc337e3e0e487 Mon Sep 17 00:00:00 2001 From: Per Manniche Bering Date: Sat, 26 Oct 2019 14:53:57 +0200 Subject: [PATCH 06/14] support for restore of packages not on dev.sitecore.net --- .../SitecoreImageBuilder.psm1 | 46 +++++++++++-------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 b/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 index 3886a4222..80122e621 100644 --- a/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 +++ b/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 @@ -34,7 +34,7 @@ function Invoke-PackageRestore $ErrorActionPreference = "STOP" $ProgressPreference = "SilentlyContinue" - $downloadUrl = "https://dev.sitecore.net" + $sitecoreDownloadUrl = "https://dev.sitecore.net" # Load packages file $packagesFile = Get-Item -Path (Join-Path $PSScriptRoot "..\..\sitecore-packages.json") @@ -49,7 +49,7 @@ function Invoke-PackageRestore } # Find out which files is needed - $downloadSession = $null + $sitecoreDownloadSession = $null $specs = Initialize-BuildSpecifications -Specifications (Get-BuildSpecifications -Path $Path -AutoGenerateWindowsVersionTags $AutoGenerateWindowsVersionTags) -InstallSourcePath $Destination -Tags $Tags -ImplicitTagsBehavior "Include" -DeprecatedTagsBehavior $DeprecatedTagsBehavior $expected = $specs | Where-Object { $_.Include -and $_.Sources.Length -gt 0 } | Select-Object -ExpandProperty Sources -Unique @@ -88,29 +88,37 @@ function Invoke-PackageRestore if ($PSCmdlet.ShouldProcess($fileName)) { - # Login to dev.sitecore.net and save session for re-use - if ($null -eq $downloadSession) + Write-Host ("Downloading '{0}' to '{1}'..." -f $fileUrl, $filePath) + + if ($fileUrl.StartsWith($sitecoreDownloadUrl)) { - Write-Verbose ("Logging in to '{0}'..." -f $downloadUrl) + # Login to dev.sitecore.net and save session for re-use + if ($null -eq $sitecoreDownloadSession) + { + Write-Verbose ("Logging in to '{0}'..." -f $sitecoreDownloadUrl) - $loginResponse = Invoke-WebRequest "https://dev.sitecore.net/api/authorization" -Method Post -Body @{ - username = $SitecoreUsername - password = $SitecorePassword - rememberMe = $true - } -SessionVariable "downloadSession" -UseBasicParsing + $loginResponse = Invoke-WebRequest "https://dev.sitecore.net/api/authorization" -Method Post -Body @{ + username = $SitecoreUsername + password = $SitecorePassword + rememberMe = $true + } -SessionVariable "downloadSession" -UseBasicParsing - if ($null -eq $loginResponse -or $loginResponse.StatusCode -ne 200 -or $loginResponse.Content -eq "false") - { - throw ("Unable to login to '{0}' with the supplied credentials." -f $downloadUrl) + if ($null -eq $loginResponse -or $loginResponse.StatusCode -ne 200 -or $loginResponse.Content -eq "false") + { + throw ("Unable to login to '{0}' with the supplied credentials." -f $sitecoreDownloadUrl) + } + + Write-Verbose ("Logged in to '{0}'." -f $sitecoreDownloadUrl) } - Write-Verbose ("Logged in to '{0}'." -f $downloadUrl) + # Download package using saved session + Invoke-WebRequest -Uri $fileUrl -OutFile $filePath -WebSession $sitecoreDownloadSession -UseBasicParsing + } + else + { + # Download package + Invoke-WebRequest -Uri $fileUrl -OutFile $filePath -UseBasicParsing } - - # Download package using saved session - Write-Host ("Downloading '{0}' to '{1}'..." -f $fileUrl, $filePath) - - Invoke-WebRequest -Uri $fileUrl -OutFile $filePath -WebSession $downloadSession -UseBasicParsing } } From 186f5be0650ae9b2b96c1df8c5ac0486479e0f6e Mon Sep 17 00:00:00 2001 From: Per Manniche Bering Date: Sat, 26 Oct 2019 14:54:36 +0200 Subject: [PATCH 07/14] fixes #84, upgrading SPE to v6.0 --- CHANGELOG.md | 1 + linux/9.2.0/sitecore-xm-spe-sql/build.json | 2 +- linux/9.2.0/sitecore-xp-spe-sql/build.json | 2 +- sitecore-packages.json | 63 ++++++------------- windows/9.2.0/sitecore-assets/build.json | 2 +- .../9.2.x/sitecore-xm-spe-sqldev/build.json | 2 +- windows/9.2.x/sitecore-xm-spe/build.json | 2 +- .../9.2.x/sitecore-xp-spe-sqldev/build.json | 2 +- windows/9.2.x/sitecore-xp-spe/build.json | 2 +- 9 files changed, 27 insertions(+), 51 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc86c39a4..beaba6c3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## October 2019 +- [Changed] Windows and Linux `spe` "Sitecore PowerShell Extensions" images updated to **v6.0**, indirectly *also* updating all `sxa` images. See [#84](https://github.com/Sitecore/docker-images/issues/84). Thanks [@michaellwest](https://github.com/michaellwest) :+1: - [Changed] The `c:\tools\scripts\Watch-Directory.ps1` no longer deletes destination directories, only files. See [#89](https://github.com/Sitecore/docker-images/issues/89). Thanks [@sshushliapin](https://github.com/sshushliapin) :+1: - [Fixed] The `c:\tools` folder was empty. - [**Breaking**] Windows and Linux "Sitecore PowerShell Extensions" images is now correctly tagged with `spe` instead of `pse`. diff --git a/linux/9.2.0/sitecore-xm-spe-sql/build.json b/linux/9.2.0/sitecore-xm-spe-sql/build.json index ab4b30494..c6ffbcff2 100644 --- a/linux/9.2.0/sitecore-xm-spe-sql/build.json +++ b/linux/9.2.0/sitecore-xm-spe-sql/build.json @@ -8,6 +8,6 @@ } ], "sources": [ - "Sitecore PowerShell Extensions-5.0 for 9.2.scwdp.zip" + "Sitecore.PowerShell.Extensions-6.0.scwdp.zip" ] } \ No newline at end of file diff --git a/linux/9.2.0/sitecore-xp-spe-sql/build.json b/linux/9.2.0/sitecore-xp-spe-sql/build.json index 800632a29..2000e8f83 100644 --- a/linux/9.2.0/sitecore-xp-spe-sql/build.json +++ b/linux/9.2.0/sitecore-xp-spe-sql/build.json @@ -8,6 +8,6 @@ } ], "sources": [ - "Sitecore PowerShell Extensions-5.0 for 9.2.scwdp.zip" + "Sitecore.PowerShell.Extensions-6.0.scwdp.zip" ] } \ No newline at end of file diff --git a/sitecore-packages.json b/sitecore-packages.json index aaf630e0a..ecd3a27a6 100644 --- a/sitecore-packages.json +++ b/sitecore-packages.json @@ -187,25 +187,17 @@ "description": "Sitecore Experience Accelerator 1.8 Update-1", "url": "https://dev.sitecore.net/~/media/4427D574D1AA4DDFBEBEF66E4F36C782.ashx" }, - "Sitecore Experience Accelerator XM 1.8.1 rev. 190319 for 9.1.1.scwdp.zip": { - "description": "Sitecore Experience Accelerator 1.8 Update-1", - "url": "https://dev.sitecore.net/~/media/F8CFFFD23CD54178B5749B0ECACB5813.ashx" - }, - "Sitecore Experience Accelerator XM 1.8.1 rev. 190319 for 9.1.1 CD.scwdp.zip": { - "description": "Sitecore Experience Accelerator 1.8 Update-1", - "url": "https://dev.sitecore.net/~/media/768039F8BCB24FB5A78AA99AD4391A20.ashx" - }, - "Sitecore Experience Accelerator 1.8.1 rev. 190319 for 9.1.1.zip": { + "Sitecore Experience Accelerator 1.8.1 rev. 190319 for 9.1.1 CD.scwdp.zip": { "description": "Sitecore Experience Accelerator 1.8 Update-1", - "url": "https://dev.sitecore.net/~/media/3E94F3558DD241D4B2DC8637D4BE184B.ashx" + "url": "https://dev.sitecore.net/~/media/E5D965AEFE7748D48C8698A3D57F0873.ashx" }, "Sitecore Experience Accelerator 1.8.1 rev. 190319 for 9.1.1.scwdp.zip": { "description": "Sitecore Experience Accelerator 1.8 Update-1", "url": "https://dev.sitecore.net/~/media/3B83F33FE0B848C6AF9F3B58E4408A96.ashx" }, - "Sitecore Experience Accelerator 1.8.1 rev. 190319 for 9.1.1 CD.scwdp.zip": { + "Sitecore Experience Accelerator 1.8.1 rev. 190319 for 9.1.1.zip": { "description": "Sitecore Experience Accelerator 1.8 Update-1", - "url": "https://dev.sitecore.net/~/media/E5D965AEFE7748D48C8698A3D57F0873.ashx" + "url": "https://dev.sitecore.net/~/media/3E94F3558DD241D4B2DC8637D4BE184B.ashx" }, "Sitecore Experience Accelerator 1.9.0 rev. 190528 for 9.2 CD.scwdp.zip": { "description": "Sitecore Experience Accelerator 1.9", @@ -215,6 +207,14 @@ "description": "Sitecore Experience Accelerator 1.9", "url": "https://dev.sitecore.net/~/media/1A7A3C021C7649C98DA83EF50E624C8E.ashx" }, + "Sitecore Experience Accelerator XM 1.8.1 rev. 190319 for 9.1.1 CD.scwdp.zip": { + "description": "Sitecore Experience Accelerator 1.8 Update-1", + "url": "https://dev.sitecore.net/~/media/768039F8BCB24FB5A78AA99AD4391A20.ashx" + }, + "Sitecore Experience Accelerator XM 1.8.1 rev. 190319 for 9.1.1.scwdp.zip": { + "description": "Sitecore Experience Accelerator 1.8 Update-1", + "url": "https://dev.sitecore.net/~/media/F8CFFFD23CD54178B5749B0ECACB5813.ashx" + }, "Sitecore Experience Accelerator XM 1.9.0 rev. 190528 for 9.2 CD.scwdp.zip": { "description": "Sitecore Experience Accelerator 1.9", "url": "https://dev.sitecore.net/~/media/CA4C08B158E64CADAE6ACF20A2BD1331.ashx" @@ -240,19 +240,19 @@ "url": "https://dev.sitecore.net/~/media/127032434274439DB84F8C47FCC90936.ashx" }, "Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522 CD.scwdp.zip": { - "description": "Sitecore JavaScript Services Server for Sitecore 9.2.0 CD", + "description": "Sitecore JavaScript Services Server CD WDP for Sitecore 9.2 XM", "url": "https://dev.sitecore.net/~/media/AEB49B787A534166A6C7D6B377367776.ashx" }, "Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522.scwdp.zip": { - "description": "Sitecore JavaScript Services Server for Sitecore 9.2.0", + "description": "Sitecore JavaScript Services Server WDP for Sitecore 9.2 XM", "url": "https://dev.sitecore.net/~/media/305523FA736948C9855A8B0539FF1680.ashx" }, "Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522 CD.scwdp.zip": { - "description": "Sitecore JavaScript Services Server for Sitecore 9.2.0 CD", + "description": "Sitecore JavaScript Services Server CD WDP for Sitecore 9.2 XP", "url": "https://dev.sitecore.net/~/media/187F48001A174051A7B085377838295F.ashx" }, "Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522.scwdp.zip": { - "description": "Sitecore JavaScript Services Server for Sitecore9.2.0", + "description": "Sitecore JavaScript Services Server WDP for Sitecore 9.2 XP", "url": "https://dev.sitecore.net/~/media/1D5D53DE1F4B43E8B3D70E0D0EE40A5D.ashx" }, "Sitecore PowerShell Extensions-5.0 for 9.2.scwdp.zip": { @@ -283,32 +283,7 @@ "description": "Sitecore Experience Commerce 9.1 Initial Release", "url": "https://dev.sitecore.net/~/media/EF8EE376257142B4BDFAFF7EB1E1CA3E.ashx" }, - "Web Forms for Marketers 9.0 rev. 171003.zip": { - "description": "Web Forms for Marketers 9.0 Initial Release", - "url": "https://dev.sitecore.net/~/media/F52EE5DE56C44C0299700A46981C7AB9.ashx" - }, - "Web Forms for Marketers 9.0 rev. 171209.zip": { - "description": "Web Forms for Marketers 9.0 Update-1", - "url": "https://dev.sitecore.net/~/media/26FDFBD5E8C04F41A545098F3E7DB2C6.ashx" - }, - "Web Forms for Marketers 9.0 rev. 180503.zip": { - "description": "Web Forms for Marketers 9.0 Update-2", - "url": "https://dev.sitecore.net/~/media/3BFEB7C427D040178E619522EA272ECC.ashx" - }, - "Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522 CD.scwdp.zip": { - "description": "Sitecore JavaScript Services Server CD WDP for Sitecore 9.2 XM", - "url": "https://dev.sitecore.net/~/media/AEB49B787A534166A6C7D6B377367776.ashx" - }, - "Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522 CD.scwdp.zip": { - "description": "Sitecore JavaScript Services Server CD WDP for Sitecore 9.2 XP", - "url": "https://dev.sitecore.net/~/media/187F48001A174051A7B085377838295F.ashx" - }, - "Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522.scwdp.zip": { - "description": "Sitecore JavaScript Services Server WDP for Sitecore 9.2 XM", - "url": "https://dev.sitecore.net/~/media/305523FA736948C9855A8B0539FF1680.ashx" - }, - "Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522.scwdp.zip": { - "description": "Sitecore JavaScript Services Server WDP for Sitecore 9.2 XP", - "url": "https://dev.sitecore.net/~/media/1D5D53DE1F4B43E8B3D70E0D0EE40A5D.ashx" + "Sitecore.PowerShell.Extensions-6.0.scwdp.zip": { + "url": "https://github.com/SitecorePowerShell/Console/releases/download/6.0/Sitecore.PowerShell.Extensions-6.0.scwdp.zip" } -} \ No newline at end of file +} diff --git a/windows/9.2.0/sitecore-assets/build.json b/windows/9.2.0/sitecore-assets/build.json index c99e99a08..85ad09e4b 100644 --- a/windows/9.2.0/sitecore-assets/build.json +++ b/windows/9.2.0/sitecore-assets/build.json @@ -20,6 +20,6 @@ "Sitecore JavaScript Services Server for Sitecore 9.2 XM 12.0.0 rev. 190522.scwdp.zip", "Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522 CD.scwdp.zip", "Sitecore JavaScript Services Server for Sitecore 9.2 XP 12.0.0 rev. 190522.scwdp.zip", - "Sitecore PowerShell Extensions-5.0 for 9.2.scwdp.zip" + "Sitecore.PowerShell.Extensions-6.0.scwdp.zip" ] } \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xm-spe-sqldev/build.json b/windows/9.2.x/sitecore-xm-spe-sqldev/build.json index 5bbcccf74..f14295edc 100644 --- a/windows/9.2.x/sitecore-xm-spe-sqldev/build.json +++ b/windows/9.2.x/sitecore-xm-spe-sqldev/build.json @@ -6,7 +6,7 @@ "--memory 4GB", "--build-arg BASE_IMAGE=sitecore-xm-sqldev:9.2.0-windowsservercore-${windowsservercore_version}", "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", - "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore PowerShell Extensions-5.0 for 9.2.scwdp.zip'" + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore.PowerShell.Extensions-6.0.scwdp.zip'" ] } ], diff --git a/windows/9.2.x/sitecore-xm-spe/build.json b/windows/9.2.x/sitecore-xm-spe/build.json index c8f813c78..5de14de8e 100644 --- a/windows/9.2.x/sitecore-xm-spe/build.json +++ b/windows/9.2.x/sitecore-xm-spe/build.json @@ -5,7 +5,7 @@ "build-options": [ "--build-arg BASE_IMAGE=sitecore-xm-cm:9.2.0-windowsservercore-${windowsservercore_version}", "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", - "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore PowerShell Extensions-5.0 for 9.2.scwdp.zip'", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore.PowerShell.Extensions-6.0.scwdp.zip'", "--build-arg SC_ROLE_CONFIG_DIRECTORY=\\config\\cm", "--build-arg SC_ROLE_DEFINE='ContentManagement, Indexing'" ] diff --git a/windows/9.2.x/sitecore-xp-spe-sqldev/build.json b/windows/9.2.x/sitecore-xp-spe-sqldev/build.json index a9c5f0616..2b71ff81f 100644 --- a/windows/9.2.x/sitecore-xp-spe-sqldev/build.json +++ b/windows/9.2.x/sitecore-xp-spe-sqldev/build.json @@ -6,7 +6,7 @@ "--memory 4GB", "--build-arg BASE_IMAGE=sitecore-xp-sqldev:9.2.0-windowsservercore-${windowsservercore_version}", "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", - "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore PowerShell Extensions-5.0 for 9.2.scwdp.zip'" + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore.PowerShell.Extensions-6.0.scwdp.zip'" ] } ], diff --git a/windows/9.2.x/sitecore-xp-spe/build.json b/windows/9.2.x/sitecore-xp-spe/build.json index f46866dbb..ed1d200d4 100644 --- a/windows/9.2.x/sitecore-xp-spe/build.json +++ b/windows/9.2.x/sitecore-xp-spe/build.json @@ -5,7 +5,7 @@ "build-options": [ "--build-arg BASE_IMAGE=sitecore-xp-standalone:9.2.0-windowsservercore-${windowsservercore_version}", "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", - "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore PowerShell Extensions-5.0 for 9.2.scwdp.zip'", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore.PowerShell.Extensions-6.0.scwdp.zip'", "--build-arg SC_ROLE_CONFIG_DIRECTORY=\\config\\cm", "--build-arg SC_ROLE_DEFINE='ContentManagement, Indexing'" ] From 381e57e110da27d25f99e5fb98d3a4fcb405ee95 Mon Sep 17 00:00:00 2001 From: Per Manniche Bering Date: Sat, 26 Oct 2019 14:55:14 +0200 Subject: [PATCH 08/14] aligning compose file names with tags --- ...e.jss.xm.yml => docker-compose.xm.jss.yml} | 0 ...e.spe.xm.yml => docker-compose.xm.spe.yml} | 0 ...e.sxa.xm.yml => docker-compose.xm.sxa.yml} | 1 - ...e-jss.xp.yml => docker-compose.xp.jss.yml} | 0 windows/tests/9.x.x/docker-compose.xp.spe.yml | 73 +++++++++++++++++++ ...e.sxa.xp.yml => docker-compose.xp.sxa.yml} | 0 6 files changed, 73 insertions(+), 1 deletion(-) rename windows/tests/9.x.x/{docker-compose.jss.xm.yml => docker-compose.xm.jss.yml} (100%) rename windows/tests/9.x.x/{docker-compose.spe.xm.yml => docker-compose.xm.spe.yml} (100%) rename windows/tests/9.x.x/{docker-compose.sxa.xm.yml => docker-compose.xm.sxa.yml} (97%) rename windows/tests/9.x.x/{docker-compose-jss.xp.yml => docker-compose.xp.jss.yml} (100%) create mode 100644 windows/tests/9.x.x/docker-compose.xp.spe.yml rename windows/tests/9.x.x/{docker-compose.sxa.xp.yml => docker-compose.xp.sxa.yml} (100%) diff --git a/windows/tests/9.x.x/docker-compose.jss.xm.yml b/windows/tests/9.x.x/docker-compose.xm.jss.yml similarity index 100% rename from windows/tests/9.x.x/docker-compose.jss.xm.yml rename to windows/tests/9.x.x/docker-compose.xm.jss.yml diff --git a/windows/tests/9.x.x/docker-compose.spe.xm.yml b/windows/tests/9.x.x/docker-compose.xm.spe.yml similarity index 100% rename from windows/tests/9.x.x/docker-compose.spe.xm.yml rename to windows/tests/9.x.x/docker-compose.xm.spe.yml diff --git a/windows/tests/9.x.x/docker-compose.sxa.xm.yml b/windows/tests/9.x.x/docker-compose.xm.sxa.yml similarity index 97% rename from windows/tests/9.x.x/docker-compose.sxa.xm.yml rename to windows/tests/9.x.x/docker-compose.xm.sxa.yml index a4ff0862b..5bba5ac81 100644 --- a/windows/tests/9.x.x/docker-compose.sxa.xm.yml +++ b/windows/tests/9.x.x/docker-compose.xm.sxa.yml @@ -34,7 +34,6 @@ services: volumes: - ${LICENSE_PATH}:C:\license - .\data\cm:C:\inetpub\wwwroot\App_Data\logs - - .\data\src:C:\src ports: - "44001:80" links: diff --git a/windows/tests/9.x.x/docker-compose-jss.xp.yml b/windows/tests/9.x.x/docker-compose.xp.jss.yml similarity index 100% rename from windows/tests/9.x.x/docker-compose-jss.xp.yml rename to windows/tests/9.x.x/docker-compose.xp.jss.yml diff --git a/windows/tests/9.x.x/docker-compose.xp.spe.yml b/windows/tests/9.x.x/docker-compose.xp.spe.yml new file mode 100644 index 000000000..4907de706 --- /dev/null +++ b/windows/tests/9.x.x/docker-compose.xp.spe.yml @@ -0,0 +1,73 @@ +version: '2.4' + +services: + + sql: + image: ${REGISTRY}sitecore-xp-spe-sqldev:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - .\data\sql:C:\Data + mem_limit: 2GB + ports: + - "44010:1433" + + solr: + image: ${REGISTRY}sitecore-xp-solr:${SITECORE_VERSION}-nanoserver-${NANOSERVER_VERSION} + volumes: + - .\data\solr:C:\Data + mem_limit: 1GB + ports: + - "44011:8983" + + xconnect: + image: ${REGISTRY}sitecore-xp-xconnect:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - C:\license:C:\license + - .\data\xconnect:C:\inetpub\wwwroot\App_Data\logs + mem_limit: 1GB + links: + - sql + - solr + + xconnect-automationengine: + image: ${REGISTRY}sitecore-xp-xconnect-automationengine:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - C:\license:C:\license + - .\data\xconnect-automationengine:C:\AutomationEngine\App_Data\logs + mem_limit: 500MB + links: + - sql + - xconnect + + xconnect-indexworker: + image: ${REGISTRY}sitecore-xp-xconnect-indexworker:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - C:\license:C:\license + - .\data\xconnect-indexworker:C:\IndexWorker\App_Data\logs + mem_limit: 500MB + links: + - sql + - solr + + cd: + image: ${REGISTRY}sitecore-xp-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\cd:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44002:80" + links: + - sql + - solr + - xconnect + + cm: + image: ${REGISTRY}sitecore-xp-spe-standalone:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\cm:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44001:80" + links: + - sql + - solr + - xconnect diff --git a/windows/tests/9.x.x/docker-compose.sxa.xp.yml b/windows/tests/9.x.x/docker-compose.xp.sxa.yml similarity index 100% rename from windows/tests/9.x.x/docker-compose.sxa.xp.yml rename to windows/tests/9.x.x/docker-compose.xp.sxa.yml From ca3fb9b726a6678e19c40959543b1e739bbdfed4 Mon Sep 17 00:00:00 2001 From: phani-av Date: Mon, 28 Oct 2019 22:36:26 -0500 Subject: [PATCH 09/14] Fix Sitecore Download Session variable issue In line 104, string `downloadSession` is used for SessionVariable of Invoke_webRequest. But this was not assigned back to `$sitecoreDownloadSession` which is used in actual package download. Due to this receiving asp.net customerror page response --- modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 b/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 index 80122e621..f3601b3bb 100644 --- a/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 +++ b/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 @@ -107,6 +107,11 @@ function Invoke-PackageRestore { throw ("Unable to login to '{0}' with the supplied credentials." -f $sitecoreDownloadUrl) } + else + { + # Assign the downloadSession variable back to sitecoreDownloadSession to use in package download - Line 120 + $sitecoreDownloadSession = $downloadSession + } Write-Verbose ("Logged in to '{0}'." -f $sitecoreDownloadUrl) } From e6f1d9efd988040981d84fdb15748090fd61b2ae Mon Sep 17 00:00:00 2001 From: phani-av Date: Tue, 29 Oct 2019 11:22:48 -0500 Subject: [PATCH 10/14] Replaced downloadSession variable name with sitecoreDownloadSession Removed the redundant else statements as per review feedback. --- modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 b/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 index f3601b3bb..2f5a75f7f 100644 --- a/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 +++ b/modules/SitecoreImageBuilder/SitecoreImageBuilder.psm1 @@ -101,18 +101,13 @@ function Invoke-PackageRestore username = $SitecoreUsername password = $SitecorePassword rememberMe = $true - } -SessionVariable "downloadSession" -UseBasicParsing + } -SessionVariable "sitecoreDownloadSession" -UseBasicParsing if ($null -eq $loginResponse -or $loginResponse.StatusCode -ne 200 -or $loginResponse.Content -eq "false") { throw ("Unable to login to '{0}' with the supplied credentials." -f $sitecoreDownloadUrl) } - else - { - # Assign the downloadSession variable back to sitecoreDownloadSession to use in package download - Line 120 - $sitecoreDownloadSession = $downloadSession - } - + Write-Verbose ("Logged in to '{0}'." -f $sitecoreDownloadUrl) } From 8452000697768cc47761777b2c43562b6309bfa5 Mon Sep 17 00:00:00 2001 From: Alexander Doroshenko Date: Wed, 30 Oct 2019 14:22:34 +0200 Subject: [PATCH 11/14] Added Processing Engine image for Sitecore 9.2 #43 --- IMAGES.md | Bin 17293 -> 35764 bytes README.md | Bin 5625 -> 11518 bytes .../Boot.ps1 | 17 ++++++ .../Dockerfile | 57 ++++++++++++++++++ .../build.json | 14 +++++ .../config/App_Config/AppSettings.config.xdt | 4 ++ .../App_Config/ConnectionStrings.config.xdt | 19 ++++++ .../Sitecore/CoreServices/sc.Serilog.xml.xdt | 8 +++ .../data/xconnect-processingengine/.gitkeep | 0 9 files changed, 119 insertions(+) create mode 100644 windows/9.2.x/sitecore-xp-xconnect-processingengine/Boot.ps1 create mode 100644 windows/9.2.x/sitecore-xp-xconnect-processingengine/Dockerfile create mode 100644 windows/9.2.x/sitecore-xp-xconnect-processingengine/build.json create mode 100644 windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Config/AppSettings.config.xdt create mode 100644 windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Config/ConnectionStrings.config.xdt create mode 100644 windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Data/Config/Sitecore/CoreServices/sc.Serilog.xml.xdt create mode 100644 windows/tests/9.x.x/data/xconnect-processingengine/.gitkeep diff --git a/IMAGES.md b/IMAGES.md index e7ffbd709c1d307acfca8b007be6a3780ad6238a..30b9ee31ef3a94f43a70e1502e6dde6a9f53355b 100644 GIT binary patch literal 35764 zcmeHQOK%)E4A!|o|AUcSn#0D9dr0C#fj%w;3KVFI_7DV!>o|#9d+qLS5*H}?)7z5b z(vo&GBWZ@zXpLgwWOp7U_30xiYBV$d{`1frm@myGd=AWoxiY8btvNSq^Qrm7{yj8! z#J6T?Uc>g=yX_0u`ojDI=ir`e^AXMoCA>7B!MSJVy;;HM9FE(VMWEx6l}3`jvy$F} zh8!uEcSn;9wDt=)^Bd4}W3`<@OE&Q9HEiA3R-t{TcHe<*=gR!P-Tx7!ZOl8^|2KTr z@O=eaa4(+w4t`xjE8fC4+>cVQ&9v{_{Assf3lCuXHJou^eud*N08{#oM<9A{;LP`S z>*G5d3E!^+lnw@Q<(_$A4&n3CoPhL)@b|!4jxF5SZ6Wdp&_jM-J-D;rFF5ySuxJ3sfNeMM8@F!Y|CMbi?)l#Q2>;SiUu|28c(@N9^%J!Atvw1Y#x0BBL+6Lv z=$F68|Gs;ylZi*MmP^o!J&*lJXHyH#fs5FRbFkvfws!+9djo&W6=Vp?T!IAb$+bP| zgZ-EGJTcGBk@HWqt*ZBA+=~6^zqswXy@t6R z^CXU;FtebaVoaXP6I1r=M^C0&q1mT(W9L5fha}o-h;OHm!El^LBkEI#_2f0W$Pa05 zu@}f*9qj)A%&|84pqyVE=1ya~SR*T)of^oW*$Pr~Y{rPArgo8*#kPJV>1u2bYgvq) zUuZ{Zr)dsMZ=p^Zsv7hn1lIENth<*#af^B`lCTcyw%a5JgfCFZ4*nW$Z%z&G1urdB150X z)*?fnof^oW!F;0L2*hs*YHAm09c=NcrB)3dV%uH~?(CDrwqB%gn&#l`P<=?)I{Rc1 z?p6%iEbeNY1M#7HkPz?Mseycrm`p8cHzuQflGyV2)Sp$+Wpzwri>!{>se!yctGOku zvYPDE!B%^u;jnFUq#=*3K4079sU$yjYh=vHE!N0aVwtPPnk-%uNZD}SwODM+|7)<^ zs^|XIbc|Mc&&Ag-m5)x?f*So5w^=G$#XT*xI;d;}$!L}LSIUmIdoE?YW*^q+p_cKN zM3>imOkY!#>kC5~TSA@e)WO=#^XRbIVeB-uhppaKGS~iVSgpn@p{LxXLF>ME<%XEX zq;lDmiCO5u01?`cfNXr>Q+` zHAeu_nV;l^7~Y4B&-1|bDu5x4A-;2Ft%Z@Dfkyv#Eq7k2|L5F3MFnF*<&Q z$;WWqby3zLTkAW!bg(SFZqKdE$8yZ|de*WZSZa=rsQ;aYnz3@I#^1F|mYp@~PHI6{ zQ%!`2YWhC=G?3Pesf2KQF%|8S#Zo$>-`7mewaECjkenYA>?~SrVZ1$V>q_c@H zEsSz8sZ*~_9>KVz`-D8-1}R?ARUW-<+Vcz zchPcJL)7IgX^V~hZsFMlvKW@u66F|j4SOFk+>Ib*o}R8Zy3xAa!&yuDHIzAGCn1_U zo=!cbp7Ha?)67HZiY<*+*{G20Bu2&Z_-<^K=iaV{R=Bromt;ib)#-$0j3cy%y^4Mf zT}z&udxVxe_sa8cE@tEME=w}z2jWfuuagv&=61zD9jaS3JzKZZV(g^Hb||;+S?yyoG1*B>>8tX~ zV<5AE(yX2`GA1o;#=LyY#>6_7UhbbYF!RSp#F?1iIe41KAgr@S}3<()bg=Uvnhp>FD;KvQ&2h`B`ueXFTb3^6*TdH3V~TH6?!LR5A_>0BJNLca@i&LNH>0DTxGs7& zK;L`9orL@Qj_}-f^SUQQAuBmD;FAvNP4)Qh0A_EjN}<_WUfYKOTT z!`CT`$TXkWcVFQ9b0~+8V?-#U4kJRHQjDNkFF*E|BhrM$bInPNn|ChM>N K+}NM$vHt)TJ4%}X literal 17293 zcmc&*OK;;g5Wf3Y5Xoh8knN<0CO#BsyO#n53baLg2m-8DViIj+$&uuZ0|fc)9g=#O z5{Dkrj2kTCwapoR{N_bX$aD5{p0jKnKk#}sJ3nW?6)E4%W)ZvnH!ITerEb5x`*fac ztBMy*q()zeF~4WUb~hc7i;pj6v!B>!zNvT;H#}uc{7|#F;%psPPw@UFYaZGAd)-vo z6KBn1Rc;?1-``nWz}QFrD#sRO!@h2_9DcvDl;6kOyqQa&zbZ6LhdGr~oGY5Bi8>|7 zs)X2XpdQgav4VAF@wO?~aRXkk7XN66$&vN04WV zG|s^=j@WhKa4P`4bnwr4%D?*nmx4h-N43;R#-5}exRW#}W*S&;59tMifu;fW@`@up zVmHc}F5a-=M}(m!9E|9w-f$Y(Vty~ed%>WfUBd8NUHcQS3x`_+=p_*^=l3Cg5DW_1 zm3Zg;Cvb<%e^jEKfd&Lg@Pu_FE3vyL>Q>cymry^e?*cCy8h=+?i-46cjTZtZTZEU<0NL&_@F6%xXZ_r2%whGF%y669783aVGsTq{)K% ztfhhWKelhI%NqAp04& zSlrh~$4mT;V}~FBB+(dVOTfZe9xdgLx^j=KE@W$wzCk*eQ);Sn^5DH`L zK_AK3vfg3cdJ~~aAQ)CUNSBl(K?X`mpo;|3DP#hL3k{eHb78g@g!Woo*StA=>`V=7 z-ED|=`=dA<$Qn*NDGdasEM0=}0W)as$%ckGx!}jkj_DGZ5}pay$uP++h1~p167dAr zFxFs7I$xj$mPfFq8c4!*EMHVih{KPmLLJ`563yW+=a<09{y9bK=Ds^r2r|PlP~rLA zRtog_oJG{PQ=LA8QO9_JY1_8XjJFd4zYBu5(?`OK)&vZztP7qvL2Sr+J5vgt5{f>0 zq5wrzJsH5xIlu)?hfAmXlTH8yX?+^;_Dq=8l%B_Ds73IobR!s~Rtt!iN+lSi zR{5oN+8hmEgK=HDH?mTh4Qu5LM8bKU$)K|Da0*~Z!b2;Sz(lv<9!qGY0*&K@=T;TQ zkZd{F&#e%W(5m2u=rBpw`vjG6eehfQ1Ro7{fHxB_YR9dviS{zzOKi1F5@GG z++J>w;M(AiK*YL+Y#70J}_o@Kwu$AP*&L|F*=d3`~GoCXN5Tn6(&TUlq(eRwp=2m})v(2wY z_?SXT(r_Fw!v~u{{BZ{S%|b&v!h?oZl0XCOu$1?rIQkLJIC@Ds4x33@bv|YRQ4piS wu$TnYctnPjqRo9EGC-4OWb~3W90$zs!6rBq8U0NU505lQ22$!|hCZA92MBAL7XSbN diff --git a/README.md b/README.md index 52ed2343f4dc63688761cd5fad0c4155257024b4..aed901a2d86ceca153f87397939fa4bba7888409 100644 GIT binary patch literal 11518 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 CuZQ^n literal 5625 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 diff --git a/windows/9.2.x/sitecore-xp-xconnect-processingengine/Boot.ps1 b/windows/9.2.x/sitecore-xp-xconnect-processingengine/Boot.ps1 new file mode 100644 index 000000000..481d26976 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-xconnect-processingengine/Boot.ps1 @@ -0,0 +1,17 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string]$LicenseFileTargetPath +) + +$licenseFilePath = "C:\license\license.xml" + +if (!(Test-Path $licenseFilePath -PathType "Leaf")) +{ + throw ("License not found at '{0}'." -f $licenseFilePath) +} + +Copy-Item $licenseFilePath -Destination $LicenseFileTargetPath -Force + +& C:\ProcessingEngine\Sitecore.ProcessingEngine.exe \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-xconnect-processingengine/Dockerfile b/windows/9.2.x/sitecore-xp-xconnect-processingengine/Dockerfile new file mode 100644 index 000000000..df581fed1 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-xconnect-processingengine/Dockerfile @@ -0,0 +1,57 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE +ARG CERTIFICATES_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $CERTIFICATES_IMAGE as certificates +FROM $BASE_IMAGE as build + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG ASSETS_USE_WDP + +COPY --from=assets ["${ASSETS_USE_WDP}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Expand-Archive -Path 'C:\\temp\\packages\\*.zip' -DestinationPath 'C:\\temp'; ` + New-Item -Path 'C:\\ProcessingEngine' -ItemType Directory | Out-Null; ` + Copy-Item -Path 'C:\\temp\\Content\\Website\\App_Data\\jobs\\continuous\\ProcessingEngine\\*' -Destination 'C:\\ProcessingEngine' -Recurse -Force; + +# copy tools, certificates and transforms +COPY --from=assets ["C:\\install\\tools\\", "C:\\ProcessingEngine\\temp\\install\\tools\\"] +COPY --from=certificates ["C:\\certificates\\", "C:\\ProcessingEngine\\temp\\install\\certificates\\"] +COPY .\\config\\ C:\\ProcessingEngine\\ + +# find transform files, replace variables and do transformation +RUN $env:XCONNECT_CLIENT_CERT_THUMBPRINT = (Get-Content -Path 'C:\\ProcessingEngine\\temp\\install\\certificates\\xconnect-client.thumbprint' | Out-String).Trim(); ` + $xdts = [System.Collections.ArrayList]@(); ` + $xdts.AddRange(@(Get-ChildItem -Path 'C:\\ProcessingEngine\\App_Config\\*.xdt' -Recurse)); ` + $xdts.AddRange(@(Get-ChildItem -Path 'C:\\ProcessingEngine\\App_Data\\Config\\*.xdt' -Recurse)); ` + $xdts | ForEach-Object { (Get-Content -Path $_.FullName).Replace('${xconnect_client_certificate_thumbprint}', $env:XCONNECT_CLIENT_CERT_THUMBPRINT) | Out-File -FilePath $_.FullName -Encoding utf8; }; ` + $xdts | ForEach-Object { & 'C:\\ProcessingEngine\\temp\\install\\tools\\scripts\\Invoke-XdtTransform.ps1' -Path $_.FullName.Replace('.xdt', '') -XdtPath $_.FullName -XdtDllPath 'C:\\ProcessingEngine\\temp\\install\\tools\\bin\\Microsoft.Web.XmlTransform.dll'; }; ` + $xdts | ForEach-Object { Remove-Item -Path $_.FullName; }; + +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=build ["C:\\ProcessingEngine\\", "C:\\ProcessingEngine\\"] + +RUN $env:INSTALL_TEMP = 'C:\\ProcessingEngine\\temp\\install'; ` + # install tools + Copy-Item -Path (Join-Path $env:INSTALL_TEMP '\\tools') -Destination 'C:\\tools' -Recurse -Force; ` + setx /M PATH $($env:PATH + ';C:\tools\scripts;C:\tools\bin') | Out-Null; ` + # install certificates + $password = ConvertTo-SecureString -String (Get-Content -Path (Join-Path $env:INSTALL_TEMP '\\certificates\\password')) -Force -AsPlainText; ` + Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\sitecore-root.pfx') -CertStoreLocation 'cert:\localmachine\root' -Password $password | Out-Null; ` + Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\sitecore-root.pfx') -CertStoreLocation 'cert:\localmachine\my' -Password $password | Out-Null; ` + Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\xconnect-client.pfx') -CertStoreLocation 'cert:\localmachine\my' -Password $password | Out-Null; ` + # configure Windows to disable DNS caching + Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters' -Name 'ServerPriorityTimeLimit' -Value 0 -Type DWord; ` + # delete temporary files + Remove-Item -Path $env:INSTALL_TEMP -Force -Recurse; + +COPY Boot.ps1 . + +ENTRYPOINT ["powershell", "C:\\Boot.ps1", "-LicenseFileTargetPath", "C:\\ProcessingEngine\\App_Data\\license.xml"] \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-xconnect-processingengine/build.json b/windows/9.2.x/sitecore-xp-xconnect-processingengine/build.json new file mode 100644 index 000000000..b165c07ef --- /dev/null +++ b/windows/9.2.x/sitecore-xp-xconnect-processingengine/build.json @@ -0,0 +1,14 @@ +{ + "tags": [ + { + "tag": "sitecore-xp-xconnect-processingengine:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore 9.2.0 rev. 002893 (OnPrem)_xp0xconnect.scwdp.zip'", + "--build-arg CERTIFICATES_IMAGE=sitecore-certificates:latest-nanoserver-${nanoserver_version}" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Config/AppSettings.config.xdt b/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Config/AppSettings.config.xdt new file mode 100644 index 000000000..5a290ea15 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Config/AppSettings.config.xdt @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Config/ConnectionStrings.config.xdt b/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Config/ConnectionStrings.config.xdt new file mode 100644 index 000000000..e1182c9fd --- /dev/null +++ b/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Config/ConnectionStrings.config.xdt @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Data/Config/Sitecore/CoreServices/sc.Serilog.xml.xdt b/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Data/Config/Sitecore/CoreServices/sc.Serilog.xml.xdt new file mode 100644 index 000000000..bf86af685 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-xconnect-processingengine/config/App_Data/Config/Sitecore/CoreServices/sc.Serilog.xml.xdt @@ -0,0 +1,8 @@ + + + + + Information + + + \ No newline at end of file diff --git a/windows/tests/9.x.x/data/xconnect-processingengine/.gitkeep b/windows/tests/9.x.x/data/xconnect-processingengine/.gitkeep new file mode 100644 index 000000000..e69de29bb From caf9c4e5048358b66b53eb7c30205b38bf9b6f8f Mon Sep 17 00:00:00 2001 From: Alexander Doroshenko Date: Thu, 31 Oct 2019 09:39:47 +0200 Subject: [PATCH 12/14] #43 Added xconnect-processingengine --- windows/tests/9.x.x/docker-compose.xp.jss.yml | 11 +++++++++++ windows/tests/9.x.x/docker-compose.xp.spe.yml | 11 +++++++++++ windows/tests/9.x.x/docker-compose.xp.sxa.yml | 11 +++++++++++ windows/tests/9.x.x/docker-compose.xp.yml | 11 +++++++++++ 4 files changed, 44 insertions(+) diff --git a/windows/tests/9.x.x/docker-compose.xp.jss.yml b/windows/tests/9.x.x/docker-compose.xp.jss.yml index f942bbf2a..7d0fb477f 100644 --- a/windows/tests/9.x.x/docker-compose.xp.jss.yml +++ b/windows/tests/9.x.x/docker-compose.xp.jss.yml @@ -48,6 +48,17 @@ services: - sql - solr + xconnect-processingengine: + image: ${REGISTRY}sitecore-xp-xconnect-processingengine:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-processingengine:C:\ProcessingEngine\App_Data\logs + mem_limit: 500MB + restart: unless-stopped + links: + - sql + - xconnect + cd: image: ${REGISTRY}sitecore-xp-jss-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: diff --git a/windows/tests/9.x.x/docker-compose.xp.spe.yml b/windows/tests/9.x.x/docker-compose.xp.spe.yml index 4907de706..24becbc15 100644 --- a/windows/tests/9.x.x/docker-compose.xp.spe.yml +++ b/windows/tests/9.x.x/docker-compose.xp.spe.yml @@ -48,6 +48,17 @@ services: - sql - solr + xconnect-processingengine: + image: ${REGISTRY}sitecore-xp-xconnect-processingengine:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-processingengine:C:\ProcessingEngine\App_Data\logs + mem_limit: 500MB + restart: unless-stopped + links: + - sql + - xconnect + cd: image: ${REGISTRY}sitecore-xp-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: diff --git a/windows/tests/9.x.x/docker-compose.xp.sxa.yml b/windows/tests/9.x.x/docker-compose.xp.sxa.yml index 70d4c4e96..91e16e241 100644 --- a/windows/tests/9.x.x/docker-compose.xp.sxa.yml +++ b/windows/tests/9.x.x/docker-compose.xp.sxa.yml @@ -48,6 +48,17 @@ services: - sql - solr + xconnect-processingengine: + image: ${REGISTRY}sitecore-xp-xconnect-processingengine:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-processingengine:C:\ProcessingEngine\App_Data\logs + mem_limit: 500MB + restart: unless-stopped + links: + - sql + - xconnect + cd: image: ${REGISTRY}sitecore-xp-sxa-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: diff --git a/windows/tests/9.x.x/docker-compose.xp.yml b/windows/tests/9.x.x/docker-compose.xp.yml index e1abf87ba..6d527d8a6 100644 --- a/windows/tests/9.x.x/docker-compose.xp.yml +++ b/windows/tests/9.x.x/docker-compose.xp.yml @@ -48,6 +48,17 @@ services: - sql - solr + xconnect-processingengine: + image: ${REGISTRY}sitecore-xp-xconnect-processingengine:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-processingengine:C:\ProcessingEngine\App_Data\logs + mem_limit: 500MB + restart: unless-stopped + links: + - sql + - xconnect + cd: image: ${REGISTRY}sitecore-xp-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} volumes: From b738a244467a3addcbc4bbd4e5630cb41fb624a5 Mon Sep 17 00:00:00 2001 From: Per Manniche Bering Date: Thu, 31 Oct 2019 08:59:38 +0100 Subject: [PATCH 13/14] updated changelog with xp-xconnect-processingengine --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index beaba6c3e..ecfc0a27e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## October 2019 +- [Added] New 9.2.0 `xp-xconnect-processingengine` images. See [#84](https://github.com/Sitecore/docker-images/issues/43). Thanks [@adoprog](https://github.com/adoprog) :+1: - [Changed] Windows and Linux `spe` "Sitecore PowerShell Extensions" images updated to **v6.0**, indirectly *also* updating all `sxa` images. See [#84](https://github.com/Sitecore/docker-images/issues/84). Thanks [@michaellwest](https://github.com/michaellwest) :+1: - [Changed] The `c:\tools\scripts\Watch-Directory.ps1` no longer deletes destination directories, only files. See [#89](https://github.com/Sitecore/docker-images/issues/89). Thanks [@sshushliapin](https://github.com/sshushliapin) :+1: - [Fixed] The `c:\tools` folder was empty. From c8d0c0fb8efdb2d61148e0a1db51b75c65f55481 Mon Sep 17 00:00:00 2001 From: Joost Date: Thu, 31 Oct 2019 10:30:39 +0100 Subject: [PATCH 14/14] Add XC (#102) * Add Commerce 9.2.0 package * Add sitecore-xc-engine * Add commerce certificate * Add jq tool * Add commerce package * Remove vim * Add Redis * Remove unused user * Add xc solr * Use variables * Undo change * Move redis image * Add XC SQL image * Add xp-identity * Use Redis version * Fix CORS for XP identity * Add xc-identity * Add xc-xconnect * Add sitecore-xc * Fix xc-solr build.json * Add xc-bizfx * Add bizfx as allowed CORS origin * Install correct identity cert * Fix identity server connection string * Fix commerce config patch * Use cm as host * Install commerce client cert * Correct config path * Fix allowed origins * Remove todo * Remove unused variables * Add environment config * Add xc test * Move experimental to windows dir * Undo change * Fix download path * Download dotnet-hosting in assets * Add commerce engine roles * Use HTTPS for IS * Document * Add dotnet hosting PATH * Use separate identity SSL certificate * Fix thumbprint * Fix Identity SSL var * xdt replace thumbprint * Add test README * Use port 4200 for bizfx * Add bizfx DNS name to hosts file * add docs url * Add processing engine to XC --- CHANGELOG.md | 1 + IMAGES.md | Bin 35764 -> 47296 bytes README.md | Bin 11518 -> 11518 bytes .../SitecoreImageBuilder.psm1 | 3 + sitecore-packages.json | 6 +- windows/9.1.1/sitecore-assets/build.json | 1 + windows/9.2.0/sitecore-assets/Dockerfile | 3 +- windows/9.2.0/sitecore-assets/build.json | 1 + windows/9.2.x/sitecore-xc-bizfx/Dockerfile | 66 +++ .../sitecore-xc-bizfx/assets/config.json | 13 + windows/9.2.x/sitecore-xc-bizfx/build.json | 14 + windows/9.2.x/sitecore-xc-engine/Dockerfile | 78 +++ windows/9.2.x/sitecore-xc-engine/build.json | 45 ++ .../config/authoring/config.json | 104 ++++ .../config/minions/config.json | 104 ++++ .../sitecore-xc-engine/config/ops/config.json | 104 ++++ .../config/shared/bootstrap/Global.json | 79 +++ .../Plugin.Content.PolicySet-1.0.0.json | 32 ++ .../Plugin.SQL.PolicySet-1.0.0.json | 24 + .../Plugin.Search.Solr.PolicySet-1.0.0.json | 22 + .../config/shops/config.json | 104 ++++ windows/9.2.x/sitecore-xc-identity/Dockerfile | 7 + windows/9.2.x/sitecore-xc-identity/build.json | 11 + .../Sitecore.Commerce.IdentityServer.Host.xml | 99 ++++ .../Dockerfile | 22 + .../build.json | 13 + .../Dockerfile | 22 + .../build.json | 13 + windows/9.2.x/sitecore-xc-xconnect/Dockerfile | 22 + windows/9.2.x/sitecore-xc-xconnect/build.json | 13 + windows/9.2.x/sitecore-xc/Dockerfile | 72 +++ windows/9.2.x/sitecore-xc/build.json | 33 ++ ...itecore.Commerce.Engine.Connect.config.xdt | 12 + ...itecore.Commerce.Engine.Connect.config.xdt | 12 + windows/9.2.x/sitecore-xp-identity/Dockerfile | 88 +++ windows/9.2.x/sitecore-xp-identity/build.json | 14 + .../Sitecore.IdentityServer.Host.xml.xdt | 28 + .../sitecore-xp-identity/sitecorehost.xml | 41 ++ windows/9.x.x/sitecore-xc-solr/Boot.cmd | 35 ++ windows/9.x.x/sitecore-xc-solr/Dockerfile | 79 +++ windows/9.x.x/sitecore-xc-solr/build.json | 27 + .../sitecore-xc-solr/managed-schema.default | 527 ++++++++++++++++++ .../9.x.x/sitecore-xc-solr/managed-schema.xdb | 512 +++++++++++++++++ .../sitecore-xc-sqldev/Attach-Databases.ps1 | 15 + .../sitecore-xc-sqldev/Detach-Databases.ps1 | 21 + windows/9.x.x/sitecore-xc-sqldev/Dockerfile | 53 ++ .../sitecore-xc-sqldev/Extract-Databases.ps1 | 11 + .../sitecore-xc-sqldev/Install-Databases.ps1 | 67 +++ .../sitecore-xc-sqldev/RebuildDescendants.sql | 40 ++ .../sitecore-xc-sqldev/Users-And-Roles.ps1 | 184 ++++++ windows/9.x.x/sitecore-xc-sqldev/build.json | 20 + .../sitecore-certificates/Dockerfile | 12 + .../dependencies/sitecore-redis/Dockerfile | 14 + .../dependencies/sitecore-redis/build.json | 12 + windows/tests/9.x.x/.gitignore | 2 + windows/tests/9.x.x/README.md | 27 + .../9.x.x/data/commerce-authoring/.gitkeep | 0 .../9.x.x/data/commerce-minions/.gitkeep | 0 .../tests/9.x.x/data/commerce-ops/.gitkeep | 0 .../tests/9.x.x/data/commerce-shops/.gitkeep | 0 windows/tests/9.x.x/data/identity/.gitkeep | 0 windows/tests/9.x.x/docker-compose.xc.yml | 147 +++++ windows/tests/9.x.x/docker-compose.xp.yml | 10 + 63 files changed, 3139 insertions(+), 2 deletions(-) create mode 100644 windows/9.2.x/sitecore-xc-bizfx/Dockerfile create mode 100644 windows/9.2.x/sitecore-xc-bizfx/assets/config.json create mode 100644 windows/9.2.x/sitecore-xc-bizfx/build.json create mode 100644 windows/9.2.x/sitecore-xc-engine/Dockerfile create mode 100644 windows/9.2.x/sitecore-xc-engine/build.json create mode 100644 windows/9.2.x/sitecore-xc-engine/config/authoring/config.json create mode 100644 windows/9.2.x/sitecore-xc-engine/config/minions/config.json create mode 100644 windows/9.2.x/sitecore-xc-engine/config/ops/config.json create mode 100644 windows/9.2.x/sitecore-xc-engine/config/shared/bootstrap/Global.json create mode 100644 windows/9.2.x/sitecore-xc-engine/config/shared/data/Environments/Plugin.Content.PolicySet-1.0.0.json create mode 100644 windows/9.2.x/sitecore-xc-engine/config/shared/data/Environments/Plugin.SQL.PolicySet-1.0.0.json create mode 100644 windows/9.2.x/sitecore-xc-engine/config/shared/data/Environments/Plugin.Search.Solr.PolicySet-1.0.0.json create mode 100644 windows/9.2.x/sitecore-xc-engine/config/shops/config.json create mode 100644 windows/9.2.x/sitecore-xc-identity/Dockerfile create mode 100644 windows/9.2.x/sitecore-xc-identity/build.json create mode 100644 windows/9.2.x/sitecore-xc-identity/config/production/Sitecore.Commerce.IdentityServer.Host.xml create mode 100644 windows/9.2.x/sitecore-xc-xconnect-automationengine/Dockerfile create mode 100644 windows/9.2.x/sitecore-xc-xconnect-automationengine/build.json create mode 100644 windows/9.2.x/sitecore-xc-xconnect-indexworker/Dockerfile create mode 100644 windows/9.2.x/sitecore-xc-xconnect-indexworker/build.json create mode 100644 windows/9.2.x/sitecore-xc-xconnect/Dockerfile create mode 100644 windows/9.2.x/sitecore-xc-xconnect/build.json create mode 100644 windows/9.2.x/sitecore-xc/Dockerfile create mode 100644 windows/9.2.x/sitecore-xc/build.json create mode 100644 windows/9.2.x/sitecore-xc/config/cd/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config.xdt create mode 100644 windows/9.2.x/sitecore-xc/config/standalone/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config.xdt create mode 100644 windows/9.2.x/sitecore-xp-identity/Dockerfile create mode 100644 windows/9.2.x/sitecore-xp-identity/build.json create mode 100644 windows/9.2.x/sitecore-xp-identity/config/production/Sitecore.IdentityServer.Host.xml.xdt create mode 100644 windows/9.2.x/sitecore-xp-identity/sitecorehost.xml create mode 100644 windows/9.x.x/sitecore-xc-solr/Boot.cmd create mode 100644 windows/9.x.x/sitecore-xc-solr/Dockerfile create mode 100644 windows/9.x.x/sitecore-xc-solr/build.json create mode 100644 windows/9.x.x/sitecore-xc-solr/managed-schema.default create mode 100644 windows/9.x.x/sitecore-xc-solr/managed-schema.xdb create mode 100644 windows/9.x.x/sitecore-xc-sqldev/Attach-Databases.ps1 create mode 100644 windows/9.x.x/sitecore-xc-sqldev/Detach-Databases.ps1 create mode 100644 windows/9.x.x/sitecore-xc-sqldev/Dockerfile create mode 100644 windows/9.x.x/sitecore-xc-sqldev/Extract-Databases.ps1 create mode 100644 windows/9.x.x/sitecore-xc-sqldev/Install-Databases.ps1 create mode 100644 windows/9.x.x/sitecore-xc-sqldev/RebuildDescendants.sql create mode 100644 windows/9.x.x/sitecore-xc-sqldev/Users-And-Roles.ps1 create mode 100644 windows/9.x.x/sitecore-xc-sqldev/build.json create mode 100644 windows/dependencies/sitecore-redis/Dockerfile create mode 100644 windows/dependencies/sitecore-redis/build.json create mode 100644 windows/tests/9.x.x/README.md create mode 100644 windows/tests/9.x.x/data/commerce-authoring/.gitkeep create mode 100644 windows/tests/9.x.x/data/commerce-minions/.gitkeep create mode 100644 windows/tests/9.x.x/data/commerce-ops/.gitkeep create mode 100644 windows/tests/9.x.x/data/commerce-shops/.gitkeep create mode 100644 windows/tests/9.x.x/data/identity/.gitkeep create mode 100644 windows/tests/9.x.x/docker-compose.xc.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index ecfc0a27e..4eb352d22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## October 2019 +- [Added] Sitecore 9.2.0 XC images. - [Added] New 9.2.0 `xp-xconnect-processingengine` images. See [#84](https://github.com/Sitecore/docker-images/issues/43). Thanks [@adoprog](https://github.com/adoprog) :+1: - [Changed] Windows and Linux `spe` "Sitecore PowerShell Extensions" images updated to **v6.0**, indirectly *also* updating all `sxa` images. See [#84](https://github.com/Sitecore/docker-images/issues/84). Thanks [@michaellwest](https://github.com/michaellwest) :+1: - [Changed] The `c:\tools\scripts\Watch-Directory.ps1` no longer deletes destination directories, only files. See [#89](https://github.com/Sitecore/docker-images/issues/89). Thanks [@sshushliapin](https://github.com/sshushliapin) :+1: diff --git a/IMAGES.md b/IMAGES.md index 30b9ee31ef3a94f43a70e1502e6dde6a9f53355b..32c16c95bad4e75273bc6113218a2f2c61224aa9 100644 GIT binary patch delta 1718 zcma)+O-~b16oxNg2Pq&W4K&mbrfSus(_z}u1c)Y-X=OkXBr#@U zOf<5foG5GeMw`^7F>T@x@CP)6?v1gDYvQ>x1CBGLWzmy!-+Rt8_v7vTveR6wHs{OE zt~5!J1(GFCNg998pkkRbX%h3!q?N3<3T0=?)-(@t>nkOC;FH%6`BSsn=-0`cm{kXY zu*dUYV>oTJ?>VTd4m?+C?QpJrTFW-uw=k1@Gj!Y`DbWF}gQ_L#IL1)mnnr7Kzl6Qi z8Po=PqxN~?#Z4HuGgDKSm|RUAzi^sz=#eZUEsL3#tdd9M30Wqqcsw(8=aJij{qUI+ z9cIoU6Ysso>X;`DKWDPH!?rlXOFVg)Tt4_zo)31ht+Kp7Y zcGP?7q+ff0)D7~GtW&N*L4rX^@^i53VPUC_hrBQZlT4%_aNm1O-jju>Nehp@?KWRO zx)jPzw3~3HFfsbEyJekFzs69wi0hPFsb^nnnclB==&sPY`yM*0_bFYQ+G~f+c0UN* zU93?3>Jo$SO*)TbmuQFI(M!ONMR4ScPGOWg#twQr9FQ2Hi8*fE}hZbTh`B zbQ_~A`u^6yO4b{|t|bc7kxh$YMwdvhTD8jtW~xP%0m2gje?g3ckhAo)t>E*Q!ap&6_+ovBBQiq% iul>-o0IY>;)hZxqxm=ef3*kC6S14|z6^a{wY<~fjP1FSd delta 79 zcmX@`k!j0xrVV$bHhamW2uyBZ7n>|#uP`}>Q*ZJF2dm8j_F`g_y=07l9F5KQ!qx~* hcBtXm{IB`}E12Qea!z5g!OEz~0&EhS?N&4i007E`9<2ZX diff --git a/README.md b/README.md index aed901a2d86ceca153f87397939fa4bba7888409..97d61d18869be9c818350606f97cfa87e6ea2c93 100644 GIT binary patch delta 37 rcmewt`7d(A4@PEF28+r4O!kwln1Yy%8O%2KGsS`gjW)k$=GO!O0@n+n delta 37 rcmewt`7d(A4@PDa2BXRSO!kwln1YxM7)& + + + + + + CommerceBusinessTools + CommerceBusinessTools + 0 + true + false + 3600 + 3600 + true + false + false + + implicit + + + {AllowedCorsOrigin} + + + {AllowedCorsOrigin} + + + http://commerce-authoring|http://bizfx + + + openid + dataEventRecords + dataeventrecordsscope + securedFiles + securedfilesscope + role + EngineAPI + + true + + + postman-api + Postman API + 0 + true + false + 3600 + 3600 + true + false + false + + password + + + {AllowedCorsOrigin}/oauth2/callback + + + {AllowedCorsOrigin} + + + https://www.getpostman.com + + + openid + EngineAPI + postman_api + + true + + + + + EngineAPI + Engine API + + secret + + + name + email + role + + + + postman_api + Postman API + + secret + + + name + email + role + + + + + + diff --git a/windows/9.2.x/sitecore-xc-xconnect-automationengine/Dockerfile b/windows/9.2.x/sitecore-xc-xconnect-automationengine/Dockerfile new file mode 100644 index 000000000..e5672983d --- /dev/null +++ b/windows/9.2.x/sitecore-xc-xconnect-automationengine/Dockerfile @@ -0,0 +1,22 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BASE_IMAGE as build + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG ASSETS_USE_WDP + +COPY --from=assets ["${ASSETS_USE_WDP}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Get-ChildItem 'C:\\temp\\packages\\*.zip' | Expand-Archive -DestinationPath 'C:\\temp'; ` + Copy-Item -Path 'C:\\temp\\App_Data\\jobs\\continuous\\AutomationEngine\\*' -Destination 'C:\\AutomationEngine' -Recurse -Force; + +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=build ["C:\\AutomationEngine\\", "C:\\AutomationEngine\\"] diff --git a/windows/9.2.x/sitecore-xc-xconnect-automationengine/build.json b/windows/9.2.x/sitecore-xc-xconnect-automationengine/build.json new file mode 100644 index 000000000..22e13fe31 --- /dev/null +++ b/windows/9.2.x/sitecore-xc-xconnect-automationengine/build.json @@ -0,0 +1,13 @@ +{ + "tags": [ + { + "tag": "sitecore-xc-xconnect-automationengine:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xp-xconnect-automationengine:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore Commerce Marketing Automation for AutomationEngine 13.0.16.zip'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xc-xconnect-indexworker/Dockerfile b/windows/9.2.x/sitecore-xc-xconnect-indexworker/Dockerfile new file mode 100644 index 000000000..dd96e1868 --- /dev/null +++ b/windows/9.2.x/sitecore-xc-xconnect-indexworker/Dockerfile @@ -0,0 +1,22 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BASE_IMAGE as build + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG ASSETS_USE_WDP + +COPY --from=assets ["${ASSETS_USE_WDP}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Get-ChildItem 'C:\\temp\\packages\\*.zip' | Expand-Archive -DestinationPath 'C:\\temp'; ` + Copy-Item -Path 'C:\\temp\\Content\\Website\\XConnectModels\\*' -Destination 'C:\\IndexWorker\\App_Data\\Models' -Recurse -Force; + +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=build ["C:\\IndexWorker\\", "C:\\IndexWorker\\"] diff --git a/windows/9.2.x/sitecore-xc-xconnect-indexworker/build.json b/windows/9.2.x/sitecore-xc-xconnect-indexworker/build.json new file mode 100644 index 000000000..2b1acca88 --- /dev/null +++ b/windows/9.2.x/sitecore-xc-xconnect-indexworker/build.json @@ -0,0 +1,13 @@ +{ + "tags": [ + { + "tag": "sitecore-xc-xconnect-indexworker:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xp-xconnect-indexworker:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore Commerce Connect Core OnPrem 13.0.16.scwdp.zip'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xc-xconnect/Dockerfile b/windows/9.2.x/sitecore-xc-xconnect/Dockerfile new file mode 100644 index 000000000..a46d6fa82 --- /dev/null +++ b/windows/9.2.x/sitecore-xc-xconnect/Dockerfile @@ -0,0 +1,22 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BASE_IMAGE as build + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG ASSETS_USE_WDP + +COPY --from=assets ["${ASSETS_USE_WDP}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Get-ChildItem 'C:\\temp\\packages\\*.zip' | Expand-Archive -DestinationPath 'C:\\temp'; ` + Copy-Item -Path 'C:\\temp\\Content\\Website\\XConnectModels\\*' -Destination 'C:\\inetpub\\wwwroot\\App_Data\\Models' -Recurse -Force; + +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=build ["C:\\inetpub\\wwwroot\\", "C:\\inetpub\\wwwroot\\"] diff --git a/windows/9.2.x/sitecore-xc-xconnect/build.json b/windows/9.2.x/sitecore-xc-xconnect/build.json new file mode 100644 index 000000000..33d139f51 --- /dev/null +++ b/windows/9.2.x/sitecore-xc-xconnect/build.json @@ -0,0 +1,13 @@ +{ + "tags": [ + { + "tag": "sitecore-xc-xconnect:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xp-xconnect:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore Commerce Connect Core OnPrem 13.0.16.scwdp.zip'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xc/Dockerfile b/windows/9.2.x/sitecore-xc/Dockerfile new file mode 100644 index 000000000..50c82e4cb --- /dev/null +++ b/windows/9.2.x/sitecore-xc/Dockerfile @@ -0,0 +1,72 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE +ARG CERTIFICATES_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $CERTIFICATES_IMAGE as certificates +FROM $BASE_IMAGE as build + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG ASSETS_USE_WDP_CONNECT_CORE +ARG ASSETS_USE_WDP_ENGINE_CONNECT +ARG ASSETS_USE_WDP_MA +ARG ASSETS_USE_WDP_XPROFILES +ARG ASSETS_USE_WDP_XANALYTICS + +ARG SC_ROLE_CONFIG_DIRECTORY + +COPY --from=assets ["${ASSETS_USE_WDP_CONNECT_CORE}", "C:\\temp\\packages\\"] +COPY --from=assets ["${ASSETS_USE_WDP_ENGINE_CONNECT}", "C:\\temp\\packages\\"] +COPY --from=assets ["${ASSETS_USE_WDP_MA}", "C:\\temp\\packages\\"] +COPY --from=assets ["${ASSETS_USE_WDP_XPROFILES}", "C:\\temp\\packages\\"] +COPY --from=assets ["${ASSETS_USE_WDP_XANALYTICS}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Get-ChildItem 'C:\\temp\\packages\\*.zip' | Expand-Archive -DestinationPath 'C:\\temp' -Force ; ` + Copy-Item -Path 'C:\\temp\\Content\\Website\\*' -Destination 'C:\\inetpub\\wwwroot' -Recurse -Force; + +# copy tools, certificates and transforms +COPY --from=assets ["C:\\install\\tools\\", "C:\\inetpub\\wwwroot\\temp\\install\\tools\\"] +COPY --from=certificates ["C:\\certificates\\", "C:\\inetpub\\wwwroot\\temp\\install\\certificates\\"] +COPY ${SC_ROLE_CONFIG_DIRECTORY} C:\\inetpub\\wwwroot\\ + +# find transform files, replace variables and do transformation +RUN & 'C:\\inetpub\\wwwroot\\temp\\install\\tools\\scripts\\Invoke-XdtTransform.ps1' -Path 'C:\\inetpub\\wwwroot\\Web.config' ` + -XdtPath 'C:\\inetpub\\wwwroot\\MergeFiles\\Sitecore.Commerce.Engine.Connectors.Merge.Config' ` + -XdtDllPath 'C:\\inetpub\\wwwroot\\temp\\install\\tools\\bin\\Microsoft.Web.XmlTransform.dll'; ` + $env:COMMERCE_CONFIG_PATH = 'C:\\inetpub\\wwwroot\\App_Config\\Include\\Y.Commerce.Engine\\'; ` + mv (Join-Path $env:COMMERCE_CONFIG_PATH 'Sitecore.Commerce.Engine.DataProvider.config.disabled') ` + (Join-Path $env:COMMERCE_CONFIG_PATH 'Sitecore.Commerce.Engine.DataProvider.config'); ` + mv (Join-Path $env:COMMERCE_CONFIG_PATH 'Sitecore.Commerce.Engine.Connectors.Index.Common.config.disabled') ` + (Join-Path $env:COMMERCE_CONFIG_PATH 'Sitecore.Commerce.Engine.Connectors.Index.Common.config'); ` + mv (Join-Path $env:COMMERCE_CONFIG_PATH 'Sitecore.Commerce.Engine.Connectors.Index.Solr.config.disabled') ` + (Join-Path $env:COMMERCE_CONFIG_PATH 'Sitecore.Commerce.Engine.Connectors.Index.Solr.config'); ` + $env:COMMERCE_CLIENT_CERT_THUMBPRINT = (Get-Content -Path 'C:\\inetpub\\wwwroot\\temp\\install\\certificates\\commerce-client.thumbprint' | Out-String).Trim(); ` + $xdts = [System.Collections.ArrayList]@(); ` + $xdts.AddRange(@(Get-ChildItem -Path 'C:\\inetpub\\wwwroot\\App_Config\\Include\\Y.Commerce.Engine\\*.config.xdt' -Recurse)); ` + $xdts | ForEach-Object { (Get-Content -Path $_.FullName).Replace('${commerce_client_certificate_thumbprint}', $env:COMMERCE_CLIENT_CERT_THUMBPRINT) | Out-File -FilePath $_.FullName -Encoding utf8; }; ` + $xdts | ForEach-Object { & 'C:\\inetpub\\wwwroot\\temp\\install\\tools\\scripts\\Invoke-XdtTransform.ps1' -Path $_.FullName.Replace('.xdt', '') -XdtPath $_.FullName -XdtDllPath 'C:\\inetpub\\wwwroot\\temp\\install\\tools\\bin\\Microsoft.Web.XmlTransform.dll'; }; ` + $xdts | ForEach-Object { Remove-Item -Path $_.FullName; }; + +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=build ["C:\\inetpub\\wwwroot\\", "C:\\inetpub\\wwwroot\\"] + +RUN $env:INSTALL_TEMP = 'C:\\inetpub\\wwwroot\\temp\\install'; ` + $env:IIS_SITE_NAME = 'Default Web Site'; ` + $password = ConvertTo-SecureString -String (Get-Content -Path (Join-Path $env:INSTALL_TEMP '\\certificates\\password')) -Force -AsPlainText; ` + Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\commerce-client.pfx') -CertStoreLocation 'cert:\localmachine\my' -Password $password | Out-Null; ` + # configure SSL binding because Commerce Engine requires HTTPS (see Sitecore ticket #542018) + Import-Module WebAdministration; ` + $xcCert = Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\xc.pfx') -CertStoreLocation 'cert:\localmachine\my' -Password $password; ` + New-WebBinding -Name $env:IIS_SITE_NAME -IPAddress '*' -Port '443' -Protocol "https" -HostHeader '*'; ` + $binding = Get-WebBinding -Name $env:IIS_SITE_NAME -Protocol "https"; ` + $binding.AddSslCertificate($xcCert.GetCertHashString(), 'my'); ` + # configure SSL flags + Set-WebConfigurationProperty -PSPath 'machine/webroot/apphost' -Filter 'system.webServer/security/access' -Name 'sslFlags' -Value 'SslNegotiateCert'; ` + # delete temporary files + Remove-Item -Path $env:INSTALL_TEMP -Force -Recurse; diff --git a/windows/9.2.x/sitecore-xc/build.json b/windows/9.2.x/sitecore-xc/build.json new file mode 100644 index 000000000..de40346bc --- /dev/null +++ b/windows/9.2.x/sitecore-xc/build.json @@ -0,0 +1,33 @@ +{ + "tags": [ + { + "tag": "sitecore-xc-standalone:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xp-standalone:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP_CONNECT_CORE='C:\\packages\\Sitecore Commerce Connect Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_ENGINE_CONNECT='C:\\packages\\Sitecore Commerce Engine Connect OnPrem 4.0.55.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_MA='C:\\packages\\Sitecore Commerce Marketing Automation Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_XPROFILES='C:\\packages\\Sitecore Commerce ExperienceProfile Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_XANALYTICS='C:\\packages\\Sitecore Commerce ExperienceAnalytics Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg CERTIFICATES_IMAGE=sitecore-certificates:latest-nanoserver-${nanoserver_version}", + "--build-arg SC_ROLE_CONFIG_DIRECTORY=.\\config\\standalone" + ] + }, + { + "tag": "sitecore-xc-cd:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=sitecore-xp-cd:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP_CONNECT_CORE='C:\\packages\\Sitecore Commerce Connect Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_ENGINE_CONNECT='C:\\packages\\Sitecore Commerce Engine Connect OnPrem 4.0.55.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_MA='C:\\packages\\Sitecore Commerce Marketing Automation Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_XPROFILES='C:\\packages\\Sitecore Commerce ExperienceProfile Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_XANALYTICS='C:\\packages\\Sitecore Commerce ExperienceAnalytics Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg CERTIFICATES_IMAGE=sitecore-certificates:latest-nanoserver-${nanoserver_version}", + "--build-arg SC_ROLE_CONFIG_DIRECTORY=.\\config\\cd" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xc/config/cd/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config.xdt b/windows/9.2.x/sitecore-xc/config/cd/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config.xdt new file mode 100644 index 000000000..dce90b0a1 --- /dev/null +++ b/windows/9.2.x/sitecore-xc/config/cd/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config.xdt @@ -0,0 +1,12 @@ + + + + http://commerce-shops/api/ + http://commerce-ops/commerceops/ + false + HabitatShops + CommerceEngineDefaultStorefront + ${commerce_client_certificate_thumbprint} + + + diff --git a/windows/9.2.x/sitecore-xc/config/standalone/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config.xdt b/windows/9.2.x/sitecore-xc/config/standalone/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config.xdt new file mode 100644 index 000000000..49b2417cb --- /dev/null +++ b/windows/9.2.x/sitecore-xc/config/standalone/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.Connect.config.xdt @@ -0,0 +1,12 @@ + + + + http://commerce-authoring/api/ + http://commerce-authoring/commerceops/ + false + HabitatShops + CommerceEngineDefaultStorefront + ${commerce_client_certificate_thumbprint} + + + diff --git a/windows/9.2.x/sitecore-xp-identity/Dockerfile b/windows/9.2.x/sitecore-xp-identity/Dockerfile new file mode 100644 index 000000000..b4da56c4f --- /dev/null +++ b/windows/9.2.x/sitecore-xp-identity/Dockerfile @@ -0,0 +1,88 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE +ARG CERTIFICATES_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $CERTIFICATES_IMAGE as certificates +FROM $BASE_IMAGE as build + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG ASSETS_USE_WDP + +COPY --from=assets ["${ASSETS_USE_WDP}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Expand-Archive -Path 'C:\\temp\\packages\\*.zip' -DestinationPath 'C:\\temp'; ` + Copy-Item -Path 'C:\\temp\\Content\\Website\\*' -Destination 'C:\\inetpub\\wwwroot' -Recurse -Force; + +# copy tools, certificates and transforms +COPY --from=assets ["C:\\install\\tools\\", "C:\\inetpub\\wwwroot\\temp\\install\\tools\\"] +COPY --from=certificates ["C:\\certificates\\", "C:\\inetpub\\wwwroot\\temp\\install\\certificates\\"] +COPY .\\config\\production C:\\inetpub\\wwwroot\\Config\\production\\ + +# find transform files, replace variables and do transformation +RUN $env:IDENTITY_CLIENT_CERT_THUMBPRINT = (Get-Content -Path 'C:\\inetpub\\wwwroot\\temp\\install\\certificates\\identity-client.thumbprint' | Out-String).Trim(); ` + $xdts = [System.Collections.ArrayList]@(); ` + $xdts.AddRange(@(Get-ChildItem -Path 'C:\\inetpub\\wwwroot\\Config\\production\\*.xml.xdt' -Recurse)); ` + $xdts | ForEach-Object { (Get-Content -Path $_.FullName).Replace('${identity_client_certificate_thumbprint}', $env:IDENTITY_CLIENT_CERT_THUMBPRINT) | Out-File -FilePath $_.FullName -Encoding utf8; }; ` + $xdts | ForEach-Object { & 'C:\\inetpub\\wwwroot\\temp\\install\\tools\\scripts\\Invoke-XdtTransform.ps1' -Path $_.FullName.Replace('.xdt', '') -XdtPath $_.FullName -XdtDllPath 'C:\\inetpub\\wwwroot\\temp\\install\\tools\\bin\\Microsoft.Web.XmlTransform.dll'; }; ` + $xdts | ForEach-Object { Remove-Item -Path $_.FullName; }; + +# Use custom config that contains custom license file path +COPY .\sitecorehost.xml C:\\inetpub\\wwwroot\\ + +# add installers +COPY --from=assets ["C:\\install\\setup\\", "C:\\inetpub\\wwwroot\\temp\\install\\setup\\"] + +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=build ["C:\\inetpub\\wwwroot\\", "C:\\inetpub\\wwwroot\\"] + +RUN $env:INSTALL_TEMP = 'C:\\inetpub\\wwwroot\\temp\\install'; ` + $env:IIS_SITE_PATH = 'IIS:\Sites\Default Web Site'; ` + $env:IIS_SITE_HOMEDIR_PATH = 'C:\\inetpub\\wwwroot'; ` + $env:IIS_APPPOOL_IDENTITY = 'IIS AppPool\DefaultAppPool'; ` + # install dependencies + Start-Process msiexec.exe -ArgumentList '/i', (Join-Path $env:INSTALL_TEMP '\\setup\\urlrewrite.msi'), '/quiet', '/norestart' -NoNewWindow -Wait; ` + Start-Process (Join-Path $env:INSTALL_TEMP '\\setup\\vc_redist.exe') -ArgumentList '/install', '/passive', '/norestart' -NoNewWindow -Wait; ` + Start-Process (Join-Path $env:INSTALL_TEMP '\\setup\\dotnet-hosting.exe') -ArgumentList '/install', '/quiet' -NoNewWindow -Wait; ` + # install tools + Copy-Item -Path (Join-Path $env:INSTALL_TEMP '\\tools') -Destination 'C:\\tools' -Force; ` + setx /M PATH $($env:PATH + ';C:\tools\scripts;C:\tools\bin;C:\Program Files\dotnet') | Out-Null; ` + # install certificates + $password = ConvertTo-SecureString -String (Get-Content -Path (Join-Path $env:INSTALL_TEMP '\\certificates\\password')) -Force -AsPlainText; ` + Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\sitecore-root.pfx') -CertStoreLocation 'cert:\localmachine\root' -Password $password | Out-Null; ` + Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\sitecore-root.pfx') -CertStoreLocation 'cert:\localmachine\my' -Password $password | Out-Null; ` + Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\identity-client.pfx') -CertStoreLocation 'cert:\localmachine\my' -Password $password | Out-Null; ` + # configure Windows to disable DNS caching + Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters' -Name 'ServerPriorityTimeLimit' -Value 0 -Type DWord; ` + # configure app pool group memberships + Add-LocalGroupMember -Group 'Performance Monitor Users' -Member $env:IIS_APPPOOL_IDENTITY; ` + # configure app pool filesystem permissions + $rule = New-Object System.Security.AccessControl.FileSystemAccessRule($env:IIS_APPPOOL_IDENTITY, 'FullControl', @('ContainerInherit', 'ObjectInherit'), 'None', 'Allow'); ` + $acl = Get-Acl -Path $env:IIS_SITE_HOMEDIR_PATH; ` + $acl.SetAccessRule($rule); ` + $acl | Set-Acl -Path $env:IIS_SITE_HOMEDIR_PATH; ` + # configure app pool certificate permissions + $rule = New-Object System.Security.AccessControl.FileSystemAccessRule($env:IIS_APPPOOL_IDENTITY, 'Read', 'None', 'None', 'Allow'); ` + Get-ChildItem -Path 'cert:\localmachine' -Recurse | Where-Object { $_.Issuer -eq 'CN=sitecore-root' -and $_.HasPrivateKey } | ForEach-Object { ` + $path = [IO.Path]::Combine($env:ProgramData, 'Microsoft\Crypto\RSA\MachineKeys', $_.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName); ` + $acl = Get-Acl -Path $path; ` + $acl.SetAccessRule($rule); ` + $acl | Set-Acl -Path $path; ` + }; ` + # configure SSL binding because Identity Server requires HTTPS (see Sitecore ticket #543325) + $env:IIS_SITE_NAME = 'Default Web Site'; ` + Import-Module WebAdministration; ` + $identityCert = Import-PfxCertificate -FilePath (Join-Path $env:INSTALL_TEMP '\\certificates\\identity.pfx') -CertStoreLocation 'cert:\localmachine\my' -Password $password; ` + New-WebBinding -Name $env:IIS_SITE_NAME -IPAddress '*' -Port '443' -Protocol "https" -HostHeader '*'; ` + $binding = Get-WebBinding -Name $env:IIS_SITE_NAME -Protocol "https"; ` + $binding.AddSslCertificate($identityCert.GetCertHashString(), 'my'); ` + # configure SSL flags + Set-WebConfigurationProperty -PSPath 'machine/webroot/apphost' -Filter 'system.webServer/security/access' -Name 'sslFlags' -Value 'SslNegotiateCert'; ` + # delete temporary files + Remove-Item -Path $env:INSTALL_TEMP -Force -Recurse; \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-identity/build.json b/windows/9.2.x/sitecore-xp-identity/build.json new file mode 100644 index 000000000..b4384eda9 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-identity/build.json @@ -0,0 +1,14 @@ +{ + "tags": [ + { + "tag": "sitecore-xp-identity:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\Sitecore.IdentityServer 3.0.0 rev. 00211 (OnPrem)_identityserver.scwdp.zip'", + "--build-arg CERTIFICATES_IMAGE=sitecore-certificates:latest-nanoserver-${nanoserver_version}" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.2.x/sitecore-xp-identity/config/production/Sitecore.IdentityServer.Host.xml.xdt b/windows/9.2.x/sitecore-xp-identity/config/production/Sitecore.IdentityServer.Host.xml.xdt new file mode 100644 index 000000000..0724dfe4b --- /dev/null +++ b/windows/9.2.x/sitecore-xp-identity/config/production/Sitecore.IdentityServer.Host.xml.xdt @@ -0,0 +1,28 @@ + + + + + ${identity_client_certificate_thumbprint} + LocalMachine + My + + Data Source=sql;Initial Catalog=Sitecore.Core;User ID=sa;Password=HASH-epsom-sunset-cost7! + + + https://identity/sitecore/login?rc=1 + + + + + http://cm|http://cd + + + + + SIF-Default + + + + + + diff --git a/windows/9.2.x/sitecore-xp-identity/sitecorehost.xml b/windows/9.2.x/sitecore-xp-identity/sitecorehost.xml new file mode 100644 index 000000000..c0a1d8b75 --- /dev/null +++ b/windows/9.2.x/sitecore-xp-identity/sitecorehost.xml @@ -0,0 +1,41 @@ + + + + + Web + + + + Sitecore.Framework.Logging.Serilog.ConfigureSitecoreLogging, Sitecore.Framework.Logging.Serilog + + + Debug + + + + Console + + [{Timestamp:HH:mm:ss}] {SourceContext} [{Level}] {Message}{NewLine}{Exception} + + + + RollingFile + + logs\sts-{Date}.log + {Timestamp:o} [{Level:u3}] ({Application}/{MachineName}) {Message}{NewLine}{Exception} + + + + + FromLogContext + WithMachineName + + + Sitecore STS + + + + + C:/license/license.xml + + \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-solr/Boot.cmd b/windows/9.x.x/sitecore-xc-solr/Boot.cmd new file mode 100644 index 000000000..267a49e69 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-solr/Boot.cmd @@ -0,0 +1,35 @@ +@ECHO OFF +SET SOLR_PATH=%1 +SET SOLR_PORT=%2 +SET INSTALL_PATH=%3 +SET DATA_PATH=%4 +SET HAS_DATA="false" + +ECHO SOLR_PATH=%SOLR_PATH% +ECHO SOLR_PORT=%SOLR_PORT% +ECHO INSTALL_PATH=%INSTALL_PATH% +ECHO DATA_PATH=%DATA_PATH% + +IF EXIST "%DATA_PATH%\sc_*" ( + IF EXIST "%DATA_PATH%\solr.xml" ( + ECHO "### Existing Sitecore solr cores found in '%DATA_PATH%'..." + + SET HAS_DATA="true" + ) +) + +IF %HAS_DATA%=="false" ( + ECHO "### No Sitecore Solr cores found in '%DATA_PATH%', seeding clean cores from '%INSTALL_PATH%'..." + + XCOPY %INSTALL_PATH% %DATA_PATH% /E +) + +ECHO "### Preparing Solr cores..." + +PUSHD %DATA_PATH% +DEL /S "write.lock" +POPD + +ECHO "### Starting Solr..." + +%SOLR_PATH%\bin\solr.cmd start -port %SOLR_PORT% -f \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-solr/Dockerfile b/windows/9.x.x/sitecore-xc-solr/Dockerfile new file mode 100644 index 000000000..86835ac16 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-solr/Dockerfile @@ -0,0 +1,79 @@ +# escape=` +ARG BUILD_IMAGE +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BUILD_IMAGE as builder + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ARG SOLR_VERSION +ARG CORE_NAMES +ARG ASSETS_USE_WDP + +COPY --from=assets ["${ASSETS_USE_WDP}", "C:\\temp\\packages\\"] + +# expand selected wdp into installation directory +RUN Expand-Archive -Path 'C:\\temp\\packages\\*.zip' -DestinationPath 'C:\\temp'; + +RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; ` + Invoke-WebRequest -Uri ('https://archive.apache.org/dist/lucene/solr/{0}/solr-{0}.zip' -f $env:SOLR_VERSION) -OutFile 'C:\\solr.zip'; ` + Expand-Archive -Path 'C:\\solr.zip' -DestinationPath 'C:\\temp'; ` + Move-Item -Path 'C:\\temp\\solr-*' -Destination 'C:\\solr'; + +COPY managed-schema.* C:\\temp\\ + +RUN New-Item -Path 'C:\\clean' -ItemType Directory | Out-Null; ` + Copy-Item -Path 'C:\\solr\\server\\solr\\*' -Destination 'C:\\clean' -Force -Recurse; ` + $env:CORE_NAMES -split ',' | ForEach-Object { ` + $name = $_.Trim(); ` + $schema = @{$true='C:\\temp\\managed-schema.xdb';$false='C:\\temp\\managed-schema.default'}[$name -like '*xdb*']; ` + Copy-Item -Path 'C:\\clean\\configsets\\_default\\conf' -Destination ('C:\\clean\\{0}\\conf' -f $name) -Recurse -Force; ` + Copy-Item -Path $schema -Destination ('C:\\clean\\{0}\\conf\\managed-schema' -f $name); ` + New-Item -Path ('C:\\clean\\{0}\\core.properties' -f $name) -ItemType File | Out-Null; ` + New-Item -Path ('C:\\clean\\{0}\\data' -f $name) -ItemType Directory | Out-Null; ` + }; ` + # CatalogItems + $name = 'sitecoreCatalogItems'; ` + $schema = 'C:\\temp\\SolrSchemas\\CatalogItems\\managed-schema'; ` + Copy-Item -Path 'C:\\clean\\configsets\\_default\\conf' -Destination ('C:\\clean\\{0}\\conf' -f $name) -Recurse -Force; ` + Copy-Item -Path $schema -Destination ('C:\\clean\\{0}\\conf\\managed-schema' -f $name); ` + New-Item -Path ('C:\\clean\\{0}\\core.properties' -f $name) -ItemType File | Out-Null; ` + New-Item -Path ('C:\\clean\\{0}\\data' -f $name) -ItemType Directory | Out-Null; ` + # Customers + $name = 'sitecoreCustomers'; ` + $schema = 'C:\\temp\\SolrSchemas\\Customers\\managed-schema'; ` + Copy-Item -Path 'C:\\clean\\configsets\\_default\\conf' -Destination ('C:\\clean\\{0}\\conf' -f $name) -Recurse -Force; ` + Copy-Item -Path $schema -Destination ('C:\\clean\\{0}\\conf\\managed-schema' -f $name); ` + New-Item -Path ('C:\\clean\\{0}\\core.properties' -f $name) -ItemType File | Out-Null; ` + New-Item -Path ('C:\\clean\\{0}\\data' -f $name) -ItemType Directory | Out-Null; ` + # Orders + $name = 'sitecoreOrders'; ` + $schema = 'C:\\temp\\SolrSchemas\\Orders\\managed-schema'; ` + Copy-Item -Path 'C:\\clean\\configsets\\_default\\conf' -Destination ('C:\\clean\\{0}\\conf' -f $name) -Recurse -Force; ` + Copy-Item -Path $schema -Destination ('C:\\clean\\{0}\\conf\\managed-schema' -f $name); ` + New-Item -Path ('C:\\clean\\{0}\\core.properties' -f $name) -ItemType File | Out-Null; ` + New-Item -Path ('C:\\clean\\{0}\\data' -f $name) -ItemType Directory | Out-Null; ` + # Clean up + Remove-Item -Path 'C:\\clean\\README.txt'; ` + Remove-Item -Path 'C:\\clean\\configsets' -Recurse; + + +FROM $BASE_IMAGE + +USER ContainerAdministrator + +COPY --from=builder ["C:\\solr", "C:\\solr"] +COPY --from=builder ["C:\\clean", "C:\\clean"] +COPY --from=builder ["C:\\windows\\system32\\find.exe", "C:\\windows\\system32\\"] + +RUN MKDIR c:\\data + +ENV SOLR_HOME=c:/data + +EXPOSE 8983 + +COPY Boot.cmd . + +CMD Boot.cmd c:\\solr 8983 c:\\clean c:\\data \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-solr/build.json b/windows/9.x.x/sitecore-xc-solr/build.json new file mode 100644 index 000000000..43fc01f4c --- /dev/null +++ b/windows/9.x.x/sitecore-xc-solr/build.json @@ -0,0 +1,27 @@ +{ + "tags": [ + { + "tag": "sitecore-xc-solr:9.2.0-nanoserver-${nanoserver_version}", + "build-options": [ + "--build-arg BUILD_IMAGE=mcr.microsoft.com/windows/servercore:${windowsservercore_version}", + "--build-arg BASE_IMAGE=sitecore-openjdk:8-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\SIF.Sitecore.Commerce.3.0.28.zip'", + "--build-arg SOLR_VERSION=7.5.0", + "--build-arg CORE_NAMES='sitecore_core_index, sitecore_master_index, sitecore_web_index, sitecore_marketingdefinitions_master, sitecore_marketingdefinitions_web, sitecore_marketing_asset_index_master, sitecore_marketing_asset_index_web, sitecore_testing_index, sitecore_suggested_test_index, sitecore_fxm_master_index, sitecore_fxm_web_index, sitecore_xdb, sitecore_xdb_rebuild'" + ] + }, + { + "tag": "sitecore-xc-sxa-solr:9.2.0-nanoserver-${nanoserver_version}", + "build-options": [ + "--build-arg BUILD_IMAGE=mcr.microsoft.com/windows/servercore:${windowsservercore_version}", + "--build-arg BASE_IMAGE=sitecore-openjdk:8-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP='C:\\packages\\SIF.Sitecore.Commerce.3.0.28.zip'", + "--build-arg SOLR_VERSION=7.5.0", + "--build-arg CORE_NAMES='sitecore_core_index, sitecore_master_index, sitecore_web_index, sitecore_marketingdefinitions_master, sitecore_marketingdefinitions_web, sitecore_marketing_asset_index_master, sitecore_marketing_asset_index_web, sitecore_testing_index, sitecore_suggested_test_index, sitecore_fxm_master_index, sitecore_fxm_web_index, sitecore_xdb, sitecore_xdb_rebuild, sitecore_sxa_master_index, sitecore_sxa_web_index'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-solr/managed-schema.default b/windows/9.x.x/sitecore-xc-solr/managed-schema.default new file mode 100644 index 000000000..3af20effe --- /dev/null +++ b/windows/9.x.x/sitecore-xc-solr/managed-schema.default @@ -0,0 +1,527 @@ + + + + _uniqueid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-solr/managed-schema.xdb b/windows/9.x.x/sitecore-xc-solr/managed-schema.xdb new file mode 100644 index 000000000..63d9dcc80 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-solr/managed-schema.xdb @@ -0,0 +1,512 @@ + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-sqldev/Attach-Databases.ps1 b/windows/9.x.x/sitecore-xc-sqldev/Attach-Databases.ps1 new file mode 100644 index 000000000..7ef33b837 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-sqldev/Attach-Databases.ps1 @@ -0,0 +1,15 @@ +# Make sure SQL server is running +Start-Service MSSQLSERVER; +(Get-Service MSSQLSERVER).WaitForStatus('Running'); + +# attach +Get-ChildItem -Path $Env:INSTALL_PATH -Filter "*.mdf" | ForEach-Object { + $databaseName = $_.BaseName.Replace("_Primary", "") + $mdfPath = $_.FullName + $ldfPath = $mdfPath.Replace(".mdf", ".ldf") + $sqlcmd = "IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = '$databaseName') BEGIN EXEC sp_detach_db [$databaseName] END;CREATE DATABASE [$databaseName] ON (FILENAME = N'$mdfPath'), (FILENAME = N'$ldfPath') FOR ATTACH;" + + Write-Host "### Attaching '$databaseName'..." + + Invoke-Sqlcmd -Query $sqlcmd +} diff --git a/windows/9.x.x/sitecore-xc-sqldev/Detach-Databases.ps1 b/windows/9.x.x/sitecore-xc-sqldev/Detach-Databases.ps1 new file mode 100644 index 000000000..a349c1120 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-sqldev/Detach-Databases.ps1 @@ -0,0 +1,21 @@ + +# detach DB +Get-ChildItem -Path $Env:INSTALL_PATH -Filter "*.mdf" | ForEach-Object { + $databaseName = $_.BaseName.Replace("_Primary", "") + + Write-Host "### Detaching '$databaseName'..." + + Invoke-Sqlcmd -Query "DECLARE @processid INT + SELECT @processid = MIN(spid) + FROM master.dbo.sysprocesses + WHERE dbid = DB_ID('$databaseName') + WHILE @processid IS NOT NULL + BEGIN + EXEC ('KILL ' + @processid) + SELECT @processid = MIN(spid) + FROM master.dbo.sysprocesses + WHERE dbid = DB_ID('$databaseName') + END" + + Invoke-Sqlcmd -Query "EXEC MASTER.dbo.sp_detach_db @dbname = N'$databaseName', @keepfulltextindexfile = N'false'" +} \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-sqldev/Dockerfile b/windows/9.x.x/sitecore-xc-sqldev/Dockerfile new file mode 100644 index 000000000..d3d79dce0 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-sqldev/Dockerfile @@ -0,0 +1,53 @@ +# escape=` +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM $ASSETS_IMAGE as assets +FROM $BASE_IMAGE + +ARG ASSETS_USE_WDP_XCONNECT +ARG ASSETS_USE_WDP_COMMERCE_ENGINE +ARG ASSETS_USE_WDP_CONNECT_CORE +ARG ASSETS_USE_WDP_CONNECT_ENGINE +ARG ASSETS_USE_WDP_MA +ARG ASSETS_USE_WDP_XPROFILES +ARG ASSETS_USE_WDP_XANALYTICS + +ENV ACCEPT_EULA='Y' ` + sa_password='HASH-epsom-sunset-cost7!' ` + INSTALL_PATH='C:\\install\\' ` + DATA_PATH='C:\\data\\' ` + SQL_HOSTNAME='sql' ` + SQL_DB_PREFIX='Sitecore.' ` + COMMERCE_DB_PREFIX='SitecoreCommerce9_' + +ENV CREATE_ROLES='sitecore\Commerce Administrator,sitecore\Commerce Business User,sitecore\Customer Service Representative,sitecore\Customer Service Representative Administrator,sitecore\Merchandiser,sitecore\Pricer,sitecore\Pricer Manager,sitecore\Promotioner,sitecore\Promotioner Manager,sitecore\Relationship Administrator,sitecore\QA' ` + ADD_ROLES_TO_USER_USER_NAMES='sitecore\Admin' ` + ADD_ROLES_TO_USER_ROLE_NAMES='sitecore\Commerce Administrator' ` + ADD_ROLE_TO_ROLE_MEMBER_ROLE_NAMES='sitecore\Customer Service Representative,sitecore\Relationship Administrator,sitecore\Pricer,sitecore\Promotioner,sitecore\Merchandiser,sitecore\Pricer Manager,sitecore\Promotioner Manager,sitecore\Customer Service Representative Administrator,sitecore\Commerce Administrator,sitecore\Commerce Administrator,sitecore\Commerce Administrator,sitecore\Commerce Administrator' ` + ADD_ROLE_TO_ROLE_TARGET_ROLE_NAMES='sitecore\Commerce Business User,sitecore\Commerce Business User,sitecore\Commerce Business User,sitecore\Commerce Business User,sitecore\Relationship Administrator,sitecore\Pricer,sitecore\Promotioner,sitecore\Customer Service Representative,sitecore\Customer Service Representative Administrator,sitecore\Pricer Manager,sitecore\Promotioner Manager,sitecore\Merchandiser' + +COPY --from=assets ["${ASSETS_USE_WDP_XCONNECT}", "${INSTALL_PATH}"] +COPY --from=assets ["${ASSETS_USE_WDP_COMMERCE_ENGINE}", "${INSTALL_PATH}"] +COPY --from=assets ["${ASSETS_USE_WDP_CONNECT_CORE}", "${INSTALL_PATH}"] +COPY --from=assets ["${ASSETS_USE_WDP_CONNECT_ENGINE}", "${INSTALL_PATH}"] +COPY --from=assets ["${ASSETS_USE_WDP_MA}", "${INSTALL_PATH}"] +COPY --from=assets ["${ASSETS_USE_WDP_XPROFILES}", "${INSTALL_PATH}"] +COPY --from=assets ["${ASSETS_USE_WDP_XANALYTICS}", "${INSTALL_PATH}"] + +COPY . ${INSTALL_PATH} + +RUN & (Join-Path $env:INSTALL_PATH "Attach-Databases.ps1"); ` + # Install databases from WDP packages + & (Join-Path $env:INSTALL_PATH "Extract-Databases.ps1") -Path $env:INSTALL_PATH; ` + & (Join-Path $env:INSTALL_PATH "Install-Databases.ps1") -InstallPath $env:INSTALL_PATH -DataPath $env:DATA_PATH -DatabasePrefix $Env:SQL_DB_PREFIX -CommerceDatabasePrefix $Env:COMMERCE_DB_PREFIX; ` + # Add Commerce Users and Roles + & (Join-Path $env:INSTALL_PATH "Users-And-Roles.ps1") -SqlHostname $env:COMPUTERNAME -SqlDatabasePrefix $env:SQL_DB_PREFIX ` + -CreateRoles $env:CREATE_ROLES -AddRolesToUserUserNames $env:ADD_ROLES_TO_USER_USER_NAMES ` + -AddRolesToUserRoleNames $env:ADD_ROLES_TO_USER_ROLE_NAMES -AddRoleToRoleMemberRoleNames $env:ADD_ROLE_TO_ROLE_MEMBER_ROLE_NAMES ` + -AddRoleToRoleTargetRoleNames $env:ADD_ROLE_TO_ROLE_TARGET_ROLE_NAMES; ` + # Rebuild Descendants task + $env:MasterDatase = '{0}Master' -f $Env:SQL_DB_PREFIX; ` + Invoke-Sqlcmd -Database $Env:MasterDatase -InputFile (Join-Path $env:INSTALL_PATH "RebuildDescendants.sql"); ` + & (Join-Path $env:INSTALL_PATH "Detach-Databases.ps1"); ` + Get-ChildItem -Path $env:INSTALL_PATH -Exclude "*.mdf", "*.ldf" | Remove-Item -Force -Recurse; diff --git a/windows/9.x.x/sitecore-xc-sqldev/Extract-Databases.ps1 b/windows/9.x.x/sitecore-xc-sqldev/Extract-Databases.ps1 new file mode 100644 index 000000000..22feb3217 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-sqldev/Extract-Databases.ps1 @@ -0,0 +1,11 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [string]$Path +) + +# extract module +Get-ChildItem -Path $Path -Filter "*.zip" | ForEach-Object { + Expand-Archive $_.FullName -DestinationPath (Join-Path $Path $_.GetHashCode()) +} diff --git a/windows/9.x.x/sitecore-xc-sqldev/Install-Databases.ps1 b/windows/9.x.x/sitecore-xc-sqldev/Install-Databases.ps1 new file mode 100644 index 000000000..b19393034 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-sqldev/Install-Databases.ps1 @@ -0,0 +1,67 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [string]$InstallPath, + [Parameter(Mandatory = $true)] + [ValidateScript( {Test-Path $_ -PathType 'Container'})] + [string]$DataPath, + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string]$DatabasePrefix, + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string]$CommerceDatabasePrefix +) + +# Make sure SQL server is running +Start-Service MSSQLSERVER; +(Get-Service MSSQLSERVER).WaitForStatus('Running'); + +[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | Out-Null + +$server = New-Object Microsoft.SqlServer.Management.Smo.Server($env:COMPUTERNAME) +$server.Properties["DefaultFile"].Value = $InstallPath +$server.Properties["DefaultLog"].Value = $InstallPath +$server.Alter() + +$sqlPackageExePath = Get-Item "C:\Program Files\Microsoft SQL Server\*\DAC\bin\SqlPackage.exe" | Select-Object -Last 1 -Property FullName -ExpandProperty FullName + +Write-Host "Using: $sqlPackageExePath" + +Push-Location -Path $InstallPath + +# do Sitecore Commerce Global DB +Get-ChildItem -Path $InstallPath -Include "Sitecore.Commerce.Engine.Global.DB.dacpac" -Recurse | ForEach-Object { + $dacpacPath = $_.FullName + $databaseName = "${CommerceDatabasePrefix}Global" + + # Install + & $sqlPackageExePath /a:Publish /sf:$dacpacPath /tdn:$databaseName /tsn:$env:COMPUTERNAME /q +} + +# do Sitecore Commerce SharedEnvironments DB +Get-ChildItem -Path $InstallPath -Include "Sitecore.Commerce.Engine.Shared.DB.dacpac" -Recurse | ForEach-Object { + $dacpacPath = $_.FullName + $databaseName = "${CommerceDatabasePrefix}SharedEnvironments" + + # Install + & $sqlPackageExePath /a:Publish /sf:$dacpacPath /tdn:$databaseName /tsn:$env:COMPUTERNAME /q +} + +# do modules +$TextInfo = (Get-Culture).TextInfo +Get-ChildItem -Path $InstallPath -Include "core.dacpac", "master.dacpac" -Recurse | ForEach-Object { + $dacpacPath = $_.FullName + $databaseName = "$DatabasePrefix" + $TextInfo.ToTitleCase($_.BaseName) + + # Install + & $sqlPackageExePath /a:Publish /sf:$dacpacPath /tdn:$databaseName /tsn:$env:COMPUTERNAME /q +} + +Pop-Location + +$server = New-Object Microsoft.SqlServer.Management.Smo.Server($env:COMPUTERNAME) +$server.Properties["DefaultFile"].Value = $DataPath +$server.Properties["DefaultLog"].Value = $DataPath +$server.Alter() \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-sqldev/RebuildDescendants.sql b/windows/9.x.x/sitecore-xc-sqldev/RebuildDescendants.sql new file mode 100644 index 000000000..1959c329b --- /dev/null +++ b/windows/9.x.x/sitecore-xc-sqldev/RebuildDescendants.sql @@ -0,0 +1,40 @@ +/* Rebuild Descendants Commerce SIF task. Query taken from the Sitecore.Data.SqlServer.SqlServerDataProvider.RebuildDescendants() method. */ +DECLARE @descendants TABLE ( + [Ancestor] [uniqueidentifier] NOT NULL, + [Descendant] [uniqueidentifier] NOT NULL, + PRIMARY KEY([Ancestor], [Descendant]) +); + +WITH TempSet([Ancestor], [Descendant]) AS +( + SELECT + [Items].[ParentID], + [Items].[ID] + FROM + [Items] + UNION ALL + SELECT + [Items].[ParentID], + [TempSet].[Descendant] + FROM + [Items] JOIN [TempSet] + ON [TempSet].[Ancestor] = [Items].[ID] +) +INSERT INTO @descendants([Ancestor], [Descendant]) +SELECT + [TempSet].[Ancestor], + [TempSet].[Descendant] +FROM + [TempSet] +OPTION (MAXRECURSION 32767) +MERGE [Descendants] AS [Target] +USING @descendants AS [Source] +ON ( + [Target].[Ancestor] = [Source].[Ancestor] + AND [Target].[Descendant] = [Source].[Descendant] +) +WHEN NOT MATCHED BY TARGET THEN + INSERT ([ID], [Ancestor], [Descendant]) + VALUES (NEWID(), [Source].[Ancestor], [Source].[Descendant]) +WHEN NOT MATCHED BY SOURCE THEN + DELETE; \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-sqldev/Users-And-Roles.ps1 b/windows/9.x.x/sitecore-xc-sqldev/Users-And-Roles.ps1 new file mode 100644 index 000000000..a562cd8d3 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-sqldev/Users-And-Roles.ps1 @@ -0,0 +1,184 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [string]$SqlHostname, + [Parameter(Mandatory = $true)] + [string]$SqlDatabasePrefix, + [Parameter(Mandatory = $true)] + [string]$CreateRoles, + [Parameter(Mandatory = $true)] + [string]$AddRolesToUserUserNames, + [Parameter(Mandatory = $true)] + [string]$AddRolesToUserRoleNames, + [Parameter(Mandatory = $true)] + [string]$AddRoleToRoleMemberRoleNames, + [Parameter(Mandatory = $true)] + [string]$AddRoleToRoleTargetRoleNames +) + +Function OpenConnection { + param( + [Parameter(Mandatory = $true)] + [string]$ConnString + ) + Write-Host "Open connection" + try { + $global:SqlConnection = New-Object System.Data.SqlClient.SqlConnection + $global:SqlConnection.ConnectionString = $ConnString.Replace('\\', '\') + $global:SqlConnection.Open() + } + catch { + Write-Host "An error happened in OpenConnection, transaction will be rollbacked..." -ForegroundColor Red + $global:SqlTransaction.Rollback() + foreach ( $errorRecord in $Error ) { + Write-Host -Object $errorRecord -ForegroundColor Red + Write-Host -Object $errorRecord.InvocationInfo.PositionMessage -ForegroundColor Red + } + } + Write-Host "Connection opened" +} + +Function CloseConnection { + Write-Host "Close connection" + $global:SqlConnection.Close(); + Write-Host "Connection closed" +} + +Function CreateRole { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [string]$RoleName, + [string]$ApplicationName = "sitecore" + ) + + Write-Host "Create Role $RoleName" -ForegroundColor Green + try { + $global:SqlTransaction = $global:SqlConnection.BeginTransaction() + $SqlCommand = $global:SqlConnection.CreateCommand() + $SqlCommand.Transaction = $global:SqlTransaction + $SqlCommand.CommandText = "[dbo].[aspnet_Roles_CreateRole]" + $SqlCommand.CommandType = [System.Data.CommandType]::StoredProcedure + $SqlCommand.Parameters.AddWithValue("@ApplicationName", $ApplicationName) | Out-Null + $SqlCommand.Parameters.AddWithValue("@RoleName", $RoleName) | Out-Null + $SqlCommand.ExecuteNonQuery() + $global:SqlTransaction.Commit(); + } + catch { + Write-Host "An error happened, transaction will be rollbacked..." -ForegroundColor Red + $global:SqlTransaction.Rollback() + foreach ( $errorRecord in $Error ) { + Write-Host -Object $errorRecord -ForegroundColor Red + Write-Host -Object $errorRecord.InvocationInfo.PositionMessage -ForegroundColor Red + } + } +} + +Function AddRolesToUser { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [string]$UserName, + [Parameter(Mandatory = $true)] + [string]$RoleNames, + [string]$ApplicationName = "sitecore" + ) + + Write-Host "Add user $UserName to roles $RoleNames" -ForegroundColor Green + try { + $global:SqlTransaction = $global:SqlConnection.BeginTransaction() + $SqlCommand = $global:SqlConnection.CreateCommand() + $SqlCommand.Transaction = $global:SqlTransaction + $SqlCommand.CommandText = "[dbo].[aspnet_UsersInRoles_AddUsersToRoles]" + $SqlCommand.CommandType = [System.Data.CommandType]::StoredProcedure + $SqlCommand.Parameters.AddWithValue("@ApplicationName", $ApplicationName) | Out-Null + $SqlCommand.Parameters.AddWithValue("@UserNames", $UserName) | Out-Null + $SqlCommand.Parameters.AddWithValue("@RoleNames", $RoleNames) | Out-Null + $SqlCommand.Parameters.AddWithValue("@CurrentTimeUtc", (Get-Date)) | Out-Null + $SqlCommand.ExecuteNonQuery(); + $global:SqlTransaction.Commit(); + } + catch { + Write-Host "An error happened, transaction will be rollbacked..." -ForegroundColor Red + $global:SqlTransaction.Rollback() + foreach ( $errorRecord in $Error ) { + Write-Host -Object $errorRecord -ForegroundColor Red + Write-Host -Object $errorRecord.InvocationInfo.PositionMessage -ForegroundColor Red + } + } +} + +Function AddRoleToRole { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [string]$MemberRoleName, + [Parameter(Mandatory = $true)] + [string]$TargetRoleName, + [string]$ApplicationName = "" + ) + + Write-Host "Add member role $MemberRoleName to target role $TargetRoleName" -ForegroundColor Green + try { + $global:SqlTransaction = $global:SqlConnection.BeginTransaction() + $SqlCommand = $global:SqlConnection.CreateCommand() + $SqlCommand.Transaction = $global:SqlTransaction + $SqlCommand.CommandText = "INSERT INTO RolesInRoles (MemberRoleName, TargetRoleName, ApplicationName, Created) VALUES (@MemberRoleName, @TargetRoleName, @ApplicationName, @CurrentTimeUtc)" + $SqlCommand.Parameters.AddWithValue("@MemberRoleName", $MemberRoleName) | Out-Null + $SqlCommand.Parameters.AddWithValue("@TargetRoleName", $TargetRoleName) | Out-Null + $SqlCommand.Parameters.AddWithValue("@ApplicationName", $ApplicationName) | Out-Null + $SqlCommand.Parameters.AddWithValue("@CurrentTimeUtc", (Get-Date)) | Out-Null + $SqlCommand.ExecuteNonQuery() + $global:SqlTransaction.Commit(); + } + catch { + Write-Host "An error happened, transaction will be rollbacked..." -ForegroundColor Red + $global:SqlTransaction.Rollback() + foreach ( $errorRecord in $Error ) { + Write-Host -Object $errorRecord -ForegroundColor Red + Write-Host -Object $errorRecord.InvocationInfo.PositionMessage -ForegroundColor Red + } + } +} + +$ConnString="Server=$SqlHostname;Database=${SqlDatabasePrefix}Core;Integrated Security=True;" +$CreateRolesArray=$CreateRoles.split(",") +$AddRolesToUserUserNamesArray=$AddRolesToUserUserNames.split(",") +$AddRolesToUserRoleNamesArray=$AddRolesToUserRoleNames.split(",") +$AddRoleToRoleMemberRoleNamesArray=$AddRoleToRoleMemberRoleNames.split(",") +$AddRoleToRoleTargetRoleNamesArray=$AddRoleToRoleTargetRoleNames.split(",") + +try { + OpenConnection -ConnString $ConnString + + if ($CreateRolesArray -And $CreateRolesArray.Count -gt 0){ + $CreateRolesArray | ForEach-Object { + CreateRole -RoleName "$_" + } + } + + if ($AddRolesToUserUserNamesArray -And $AddRolesToUserRoleNamesArray -And $AddRolesToUserUserNamesArray.Count -gt 0 -And $AddRolesToUserUserNamesArray.Count -eq $AddRolesToUserRoleNamesArray.Count){ + $i = 0 + $AddRolesToUserUserNamesArray | ForEach-Object { + AddRolesToUser -UserName "$_" -RoleNames $AddRolesToUserRoleNamesArray[$i] + $i++ + } + } + + if ($AddRoleToRoleMemberRoleNamesArray -And $AddRoleToRoleTargetRoleNamesArray -And $AddRoleToRoleMemberRoleNamesArray.Count -gt 0 -And $AddRoleToRoleMemberRoleNamesArray.Count -eq $AddRoleToRoleTargetRoleNamesArray.Count){ + $i = 0 + $AddRoleToRoleMemberRoleNamesArray | ForEach-Object { + AddRoleToRole -MemberRoleName "$_" -TargetRoleName $AddRoleToRoleTargetRoleNamesArray[$i] + $i++ + } + } +} +catch { + foreach ( $errorRecord in $Error ) { + Write-Host -Object $errorRecord -ForegroundColor Red + Write-Host -Object $errorRecord.InvocationInfo.PositionMessage -ForegroundColor Red + } +} +finally{ + CloseConnection +} \ No newline at end of file diff --git a/windows/9.x.x/sitecore-xc-sqldev/build.json b/windows/9.x.x/sitecore-xc-sqldev/build.json new file mode 100644 index 000000000..ec96ba940 --- /dev/null +++ b/windows/9.x.x/sitecore-xc-sqldev/build.json @@ -0,0 +1,20 @@ +{ + "tags": [ + { + "tag": "sitecore-xc-sqldev:9.2.0-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--memory 4GB", + "--build-arg BASE_IMAGE=sitecore-xp-sqldev:9.2.0-windowsservercore-${windowsservercore_version}", + "--build-arg ASSETS_IMAGE=sitecore-assets:9.2.0-nanoserver-${nanoserver_version}", + "--build-arg ASSETS_USE_WDP_XCONNECT='C:\\packages\\Sitecore 9.2.0 rev. 002893 (OnPrem)_xp0xconnect.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_COMMERCE_ENGINE='C:\\packages\\Sitecore.Commerce.Engine.OnPrem.Solr.4.0.165.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_CONNECT_CORE='C:\\packages\\Sitecore Commerce Connect Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_CONNECT_ENGINE='C:\\packages\\Sitecore Commerce Engine Connect OnPrem 4.0.55.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_MA='C:\\packages\\Sitecore Commerce Marketing Automation Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_XPROFILES='C:\\packages\\Sitecore Commerce ExperienceProfile Core OnPrem 13.0.16.scwdp.zip'", + "--build-arg ASSETS_USE_WDP_XANALYTICS='C:\\packages\\Sitecore Commerce ExperienceAnalytics Core OnPrem 13.0.16.scwdp.zip'" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/dependencies/sitecore-certificates/Dockerfile b/windows/dependencies/sitecore-certificates/Dockerfile index 05d7267f7..0bdeeb52e 100644 --- a/windows/dependencies/sitecore-certificates/Dockerfile +++ b/windows/dependencies/sitecore-certificates/Dockerfile @@ -9,6 +9,10 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref RUN $env:ROOT_CERT_NAME = 'sitecore-root'; ` $env:XCONNECT_SSL_CERT_NAME = 'xconnect'; ` $env:XCONNECT_CLIENT_CERT_NAME = 'xconnect-client'; ` + $env:COMMERCE_CLIENT_CERT_NAME = 'commerce-client'; ` + $env:IDENTITY_CLIENT_CERT_NAME = 'identity-client'; ` + $env:IDENTITY_SSL_CERT_NAME = 'identity'; ` + $env:XC_SSL_CERT_NAME = 'xc'; ` $env:CERT_STORE = 'Cert:\LocalMachine\My'; ` $env:CERT_PASSWORD = 'Twelve4-4Cranial-Rag-kayo4-Ragweed-This8-grunge9-0Foss-7finalist-hubby'; ` New-Item -Path 'C:\\certificates' -ItemType 'Directory' | Out-Null; ` @@ -17,10 +21,18 @@ RUN $env:ROOT_CERT_NAME = 'sitecore-root'; ` $rootCert | Export-PfxCertificate -FilePath ('C:\\certificates\\{1}.pfx' -f $env:CERT_PATH, $env:ROOT_CERT_NAME) -Password $password | Out-Null; ` New-SelfSignedCertificate -CertStoreLocation $env:CERT_STORE -DnsName $env:XCONNECT_SSL_CERT_NAME, '127.0.0.1', 'localhost' -Signer $rootCert -KeyExportPolicy 'Exportable' -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider' | Export-PfxCertificate -FilePath ('C:\\certificates\\{1}.pfx' -f $env:CERT_PATH, $env:XCONNECT_SSL_CERT_NAME) -Password $password | Out-Null; ` New-SelfSignedCertificate -CertStoreLocation $env:CERT_STORE -DnsName $env:XCONNECT_CLIENT_CERT_NAME -Signer $rootCert -KeyExportPolicy 'Exportable' -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider' | Export-PfxCertificate -FilePath ('C:\\certificates\\{1}.pfx' -f $env:CERT_PATH, $env:XCONNECT_CLIENT_CERT_NAME) -Password $password | Out-Null; ` + New-SelfSignedCertificate -CertStoreLocation $env:CERT_STORE -DnsName $env:COMMERCE_CLIENT_CERT_NAME -Signer $rootCert -KeyExportPolicy 'Exportable' -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider' | Export-PfxCertificate -FilePath ('C:\\certificates\\{1}.pfx' -f $env:CERT_PATH, $env:COMMERCE_CLIENT_CERT_NAME) -Password $password | Out-Null; ` + New-SelfSignedCertificate -CertStoreLocation $env:CERT_STORE -DnsName $env:IDENTITY_CLIENT_CERT_NAME -Signer $rootCert -KeyExportPolicy 'Exportable' -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider' | Export-PfxCertificate -FilePath ('C:\\certificates\\{1}.pfx' -f $env:CERT_PATH, $env:IDENTITY_CLIENT_CERT_NAME) -Password $password | Out-Null; ` + New-SelfSignedCertificate -CertStoreLocation $env:CERT_STORE -DnsName $env:IDENTITY_SSL_CERT_NAME, '127.0.0.1', 'localhost' -Signer $rootCert -KeyExportPolicy 'Exportable' -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider' | Export-PfxCertificate -FilePath ('C:\\certificates\\{1}.pfx' -f $env:CERT_PATH, $env:IDENTITY_SSL_CERT_NAME) -Password $password | Out-Null; ` + New-SelfSignedCertificate -CertStoreLocation $env:CERT_STORE -DnsName $env:XC_SSL_CERT_NAME, '127.0.0.1', 'localhost' -Signer $rootCert -KeyExportPolicy 'Exportable' -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider' | Export-PfxCertificate -FilePath ('C:\\certificates\\{1}.pfx' -f $env:CERT_PATH, $env:XC_SSL_CERT_NAME) -Password $password | Out-Null; ` Import-PfxCertificate -FilePath ('C:\\certificates\\sitecore-root.pfx') -CertStoreLocation 'cert:\localmachine\root' -Password $password | Out-Null; ` (Get-ChildItem -Path $env:CERT_STORE | Where-Object { $_.Subject -eq ('CN={0}' -f $env:ROOT_CERT_NAME ) }).Thumbprint | Out-File -FilePath ('C:\\certificates\\{0}.thumbprint' -f $env:ROOT_CERT_NAME) -NoNewline -Encoding utf8; ` (Get-ChildItem -Path $env:CERT_STORE | Where-Object { $_.Subject -eq ('CN={0}' -f $env:XCONNECT_SSL_CERT_NAME ) }).Thumbprint | Out-File -FilePath ('C:\\certificates\\{0}.thumbprint' -f $env:XCONNECT_SSL_CERT_NAME) -NoNewline -Encoding utf8; ` (Get-ChildItem -Path $env:CERT_STORE | Where-Object { $_.Subject -eq ('CN={0}' -f $env:XCONNECT_CLIENT_CERT_NAME ) }).Thumbprint | Out-File -FilePath ('C:\\certificates\\{0}.thumbprint' -f $env:XCONNECT_CLIENT_CERT_NAME) -NoNewline -Encoding utf8; ` + (Get-ChildItem -Path $env:CERT_STORE | Where-Object { $_.Subject -eq ('CN={0}' -f $env:COMMERCE_CLIENT_CERT_NAME ) }).Thumbprint | Out-File -FilePath ('C:\\certificates\\{0}.thumbprint' -f $env:COMMERCE_CLIENT_CERT_NAME) -NoNewline -Encoding utf8; ` + (Get-ChildItem -Path $env:CERT_STORE | Where-Object { $_.Subject -eq ('CN={0}' -f $env:IDENTITY_CLIENT_CERT_NAME ) }).Thumbprint | Out-File -FilePath ('C:\\certificates\\{0}.thumbprint' -f $env:IDENTITY_CLIENT_CERT_NAME) -NoNewline -Encoding utf8; ` + (Get-ChildItem -Path $env:CERT_STORE | Where-Object { $_.Subject -eq ('CN={0}' -f $env:IDENTITY_SSL_CERT_NAME ) }).Thumbprint | Out-File -FilePath ('C:\\certificates\\{0}.thumbprint' -f $env:IDENTITY_SSL_CERT_NAME) -NoNewline -Encoding utf8; ` + (Get-ChildItem -Path $env:CERT_STORE | Where-Object { $_.Subject -eq ('CN={0}' -f $env:XC_SSL_CERT_NAME ) }).Thumbprint | Out-File -FilePath ('C:\\certificates\\{0}.thumbprint' -f $env:XC_SSL_CERT_NAME) -NoNewline -Encoding utf8; ` $env:CERT_PASSWORD | Out-File -FilePath 'C:\\certificates\\password' -NoNewline -Encoding utf8; FROM $BASE_IMAGE diff --git a/windows/dependencies/sitecore-redis/Dockerfile b/windows/dependencies/sitecore-redis/Dockerfile new file mode 100644 index 000000000..d416f8e0f --- /dev/null +++ b/windows/dependencies/sitecore-redis/Dockerfile @@ -0,0 +1,14 @@ +# escape=` +ARG BASE_IMAGE +FROM $BASE_IMAGE + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +# Install Redis +ARG REDIS_VERSION + +RUN Invoke-WebRequest -Uri ('https://github.com/microsoftarchive/redis/releases/download/win-{0}/Redis-x64-{0}.zip' -f $ENV:REDIS_VERSION) -OutFile /redis.zip; ` + Expand-Archive -Path /redis.zip -DestinationPath c:\redis; ` + Remove-Item /redis.zip -Force + +ENTRYPOINT ["powershell", "C:/redis/redis-server.exe"] diff --git a/windows/dependencies/sitecore-redis/build.json b/windows/dependencies/sitecore-redis/build.json new file mode 100644 index 000000000..82c26c2f4 --- /dev/null +++ b/windows/dependencies/sitecore-redis/build.json @@ -0,0 +1,12 @@ +{ + "tags": [ + { + "tag": "sitecore-redis:3.0.504-windowsservercore-${windowsservercore_version}", + "build-options": [ + "--build-arg BASE_IMAGE=mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-${windowsservercore_version}", + "--build-arg REDIS_VERSION=3.0.504" + ] + } + ], + "sources": [] +} \ No newline at end of file diff --git a/windows/tests/9.x.x/.gitignore b/windows/tests/9.x.x/.gitignore index 22685ca34..3239af5cd 100644 --- a/windows/tests/9.x.x/.gitignore +++ b/windows/tests/9.x.x/.gitignore @@ -1,4 +1,6 @@ data/**/* +data/** !data/*/ !data/**/*/ !data/**/*/.gitkeep + diff --git a/windows/tests/9.x.x/README.md b/windows/tests/9.x.x/README.md new file mode 100644 index 000000000..0c642e271 --- /dev/null +++ b/windows/tests/9.x.x/README.md @@ -0,0 +1,27 @@ +# Tests + +# XC +Start XC using: +``` +PS> docker-compose -f docker-compose.xc.yml up +``` + +> You need to add the `identity` and `bizfx` DNS names your `hosts` file. To automatically do this use [whales-names](https://github.com/gregolsky/whales-names)). + +Once all containers are running, perform the following Sitecore Commerce post-install steps using Postman: + + 1. Configure your Postman environment to use: + - `SitecoreIdServerHost` at https://identity + - `OpsApiHost` at http://localhost:44005 + 2. Obtain Identity token + 3. Perform bootstrap ([docs](https://doc.sitecore.com/developers/92/sitecore-experience-commerce/en/bootstrap-the-commerce-engine.html)) + 4. Initialize environment ([docs](https://doc.sitecore.com/developers/92/sitecore-experience-commerce/en/clean-and-initialize-the-environment.html)) + +> Obtain the Postman collections and environment from the Sitecore Commerce SDK. + +To verify that everything is working okay browse to: + + 1. [BizFx](http://localhost:4200) and verify that Habitat catalog is present + 2. [CM](http://localhost:44001/sitecore) and verify that Habitat catalog is present under `/sitecore/Commerce/Catalog Management/Catalogs` + +> The Business Tools run at HTTP and *not* HTTPS. When browsing to the Business Tools from the Control Panel remove the *S* from the address. diff --git a/windows/tests/9.x.x/data/commerce-authoring/.gitkeep b/windows/tests/9.x.x/data/commerce-authoring/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/windows/tests/9.x.x/data/commerce-minions/.gitkeep b/windows/tests/9.x.x/data/commerce-minions/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/windows/tests/9.x.x/data/commerce-ops/.gitkeep b/windows/tests/9.x.x/data/commerce-ops/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/windows/tests/9.x.x/data/commerce-shops/.gitkeep b/windows/tests/9.x.x/data/commerce-shops/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/windows/tests/9.x.x/data/identity/.gitkeep b/windows/tests/9.x.x/data/identity/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/windows/tests/9.x.x/docker-compose.xc.yml b/windows/tests/9.x.x/docker-compose.xc.yml new file mode 100644 index 000000000..04aadc742 --- /dev/null +++ b/windows/tests/9.x.x/docker-compose.xc.yml @@ -0,0 +1,147 @@ +version: '2.4' + +services: + sql: + image: ${REGISTRY}sitecore-xc-sqldev:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - .\data\sql:C:\Data + mem_limit: 2GB + ports: + - "44010:1433" + + solr: + image: ${REGISTRY}sitecore-xc-solr:${SITECORE_VERSION}-nanoserver-${NANOSERVER_VERSION} + volumes: + - .\data\solr:C:\Data + mem_limit: 1GB + ports: + - "44011:8983" + + xconnect: + image: ${REGISTRY}sitecore-xc-xconnect:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect:C:\inetpub\wwwroot\App_Data\logs + mem_limit: 1GB + links: + - sql + - solr + + xconnect-automationengine: + image: ${REGISTRY}sitecore-xc-xconnect-automationengine:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-automationengine:C:\AutomationEngine\App_Data\logs + mem_limit: 500MB + links: + - sql + - xconnect + + xconnect-indexworker: + image: ${REGISTRY}sitecore-xc-xconnect-indexworker:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-indexworker:C:\IndexWorker\App_Data\logs + mem_limit: 500MB + links: + - sql + - solr + + xconnect-processingengine: + image: ${REGISTRY}sitecore-xp-xconnect-processingengine:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\xconnect-processingengine:C:\ProcessingEngine\App_Data\logs + mem_limit: 500MB + restart: unless-stopped + links: + - sql + - xconnect + + cd: + image: ${REGISTRY}sitecore-xc-cd:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\cd:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44002:80" + links: + - commerce-ops + - commerce-shops + - sql + - solr + - xconnect + + cm: + image: ${REGISTRY}sitecore-xc-standalone:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\cm:C:\inetpub\wwwroot\App_Data\logs + ports: + - "44001:80" + links: + - sql + - solr + - xconnect + - commerce-authoring + + commerce-authoring: + image: ${REGISTRY}sitecore-xc-engine-authoring:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - .\data\commerce-authoring:C:\inetpub\wwwroot\wwwroot\logs + ports: + - "44003:80" + links: + - sql + - solr + + commerce-minions: + image: ${REGISTRY}sitecore-xc-engine-minions:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - .\data\commerce-minions:C:\inetpub\wwwroot\wwwroot\logs + ports: + - "44004:80" + links: + - sql + - solr + + commerce-ops: + image: ${REGISTRY}sitecore-xc-engine-ops:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - .\data\commerce-ops:C:\inetpub\wwwroot\wwwroot\logs + ports: + - "44005:80" + links: + - sql + - solr + + commerce-shops: + image: ${REGISTRY}sitecore-xc-engine-shops:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - .\data\commerce-shops:C:\inetpub\wwwroot\wwwroot\logs + ports: + - "44006:80" + links: + - sql + - solr + + bizfx: + image: ${REGISTRY}sitecore-xc-bizfx:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + ports: + - "4200:80" + links: + - commerce-authoring + - identity + + redis: + image: ${REGISTRY}sitecore-redis:3.0.504-windowsservercore-${WINDOWSSERVERCORE_VERSION} + + identity: + image: ${REGISTRY}sitecore-xc-identity:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\identity:C:\inetpub\wwwroot\logs + ports: + - "44008:80" + links: + - sql diff --git a/windows/tests/9.x.x/docker-compose.xp.yml b/windows/tests/9.x.x/docker-compose.xp.yml index 6d527d8a6..3705636ec 100644 --- a/windows/tests/9.x.x/docker-compose.xp.yml +++ b/windows/tests/9.x.x/docker-compose.xp.yml @@ -82,3 +82,13 @@ services: - sql - solr - xconnect + + identity: + image: ${REGISTRY}sitecore-xp-identity:${SITECORE_VERSION}-windowsservercore-${WINDOWSSERVERCORE_VERSION} + volumes: + - ${LICENSE_PATH}:C:\license + - .\data\identity:C:\inetpub\wwwroot\wwwroot\logs + ports: + - "44005:80" + links: + - sql