teamcity agents

This commit is contained in:
STAM 2024-12-05 02:32:14 +03:00
parent 3da6e127a6
commit d2fd3bfcb6
Signed by: stam
GPG Key ID: E149C3760CFA3C7E
73 changed files with 691 additions and 1836 deletions

View File

@ -22,17 +22,8 @@ jobs:
- name: Install requirements.txt - name: Install requirements.txt
run: make pip run: make pip
- name: "Build and Deploy TeamCity Agent Main Image (jdk8):" - name: "Build and Deploy TeamCity Agent Main Image (jdk8 + jdk11 + jdk17 + jdk21):"
run: cd linux/ecosystem/teamcity/agent/latest/jdk8 && pwd && make build && make deploy run: cd linux/ecosystem/teamcity/agent/latest && pwd && make build && make deploy
- name: "Build and Deploy TeamCity Agent Main Image (jdk11):"
run: cd linux/ecosystem/teamcity/agent/latest/jdk11 && pwd && make build && make deploy
- name: "Build and Deploy TeamCity Agent Main Image (jdk17):"
run: cd linux/ecosystem/teamcity/agent/latest/jdk17 && pwd && make build && make deploy
- name: "Build and Deploy TeamCity Agent Main Image (jdk21):"
run: cd linux/ecosystem/teamcity/agent/latest/jdk21 && pwd && make build && make deploy
################################################################################## ##################################################################################
@ -142,33 +133,33 @@ jobs:
- name: "Build and Deploy TeamCity Agent node22 Image:" - name: "Build and Deploy TeamCity Agent node22 Image:"
run: cd linux/ecosystem/teamcity/agent/node22 && pwd && make build && make deploy run: cd linux/ecosystem/teamcity/agent/node22 && pwd && make build && make deploy
- name: "Build and Deploy TeamCity Agent php7.2 Image:" # - name: "Build and Deploy TeamCity Agent php7.2 Image:"
run: cd linux/ecosystem/teamcity/agent/php7.2 && pwd && make build && make deploy # run: cd linux/ecosystem/teamcity/agent/php7.2 && pwd && make build && make deploy
#
- name: "Build and Deploy TeamCity Agent php7.3 Image:" # - name: "Build and Deploy TeamCity Agent php7.3 Image:"
run: cd linux/ecosystem/teamcity/agent/php7.3 && pwd && make build && make deploy # run: cd linux/ecosystem/teamcity/agent/php7.3 && pwd && make build && make deploy
#
- name: Cleanup # - name: Cleanup
run: make docker-clean # run: make docker-clean
#
- name: "Build and Deploy TeamCity Agent php7.4 Image:" # - name: "Build and Deploy TeamCity Agent php7.4 Image:"
run: cd linux/ecosystem/teamcity/agent/php7.4 && pwd && make build && make deploy # run: cd linux/ecosystem/teamcity/agent/php7.4 && pwd && make build && make deploy
#
- name: "Build and Deploy TeamCity Agent php8.0 Image:" # - name: "Build and Deploy TeamCity Agent php8.0 Image:"
run: cd linux/ecosystem/teamcity/agent/php8.0 && pwd && make build && make deploy # run: cd linux/ecosystem/teamcity/agent/php8.0 && pwd && make build && make deploy
#
- name: "Build and Deploy TeamCity Agent php8.1 Image:" # - name: "Build and Deploy TeamCity Agent php8.1 Image:"
run: cd linux/ecosystem/teamcity/agent/php8.1 && pwd && make build && make deploy # run: cd linux/ecosystem/teamcity/agent/php8.1 && pwd && make build && make deploy
#
- name: "Build and Deploy TeamCity Agent php8.2 Image:" # - name: "Build and Deploy TeamCity Agent php8.2 Image:"
run: cd linux/ecosystem/teamcity/agent/php8.2 && pwd && make build && make deploy # run: cd linux/ecosystem/teamcity/agent/php8.2 && pwd && make build && make deploy
#
- name: "Build and Deploy TeamCity Agent php8.3 Image:" # - name: "Build and Deploy TeamCity Agent php8.3 Image:"
run: cd linux/ecosystem/teamcity/agent/php8.3 && pwd && make build && make deploy # run: cd linux/ecosystem/teamcity/agent/php8.3 && pwd && make build && make deploy
#
- name: "Build and Deploy TeamCity Agent Steam SDK Image:" # - name: "Build and Deploy TeamCity Agent Steam SDK Image:"
run: cd linux/ecosystem/teamcity/agent/steam-sdk && pwd && make build && make deploy # run: cd linux/ecosystem/teamcity/agent/steam-sdk && pwd && make build && make deploy
#
################################################################################## ##################################################################################
- name: Cleanup - name: Cleanup

View File

@ -3,7 +3,7 @@
* `dec` * `dec`
* fixed `perforce` images * fixed `perforce` images
* new baseline: * new baseline:
* `qbittorrent`, `perforce`, `Atlassian Jira`, `Atlassian Bitbucket` * `qbittorrent`, `perforce`, `Atlassian Jira`, `Atlassian Bitbucket`, `TeamCity Agents`
* updated `Atlassian Images`: * updated `Atlassian Images`:
* fixed old and added new versions of `Jira` * fixed old and added new versions of `Jira`
* fixed old and added new versions of `Bitbucket` * fixed old and added new versions of `Bitbucket`

View File

@ -1073,9 +1073,7 @@ ecosystem-postgres-images:
# cd `pwd`/linux/ecosystem/postgres/18 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/postgres/18 && pwd && make build && make deploy
ecosystem-teamcity-agent-images: ecosystem-teamcity-agent-images:
cd `pwd`/linux/ecosystem/teamcity/agent/latest/jdk8 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/latest && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/latest/jdk11 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/latest/jdk17 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/amxx-sdk/1.9 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/amxx-sdk/1.9 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/amxx-sdk/1.10 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/amxx-sdk/1.10 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/android-sdk/jdk8 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/android-sdk/jdk8 && pwd && make build && make deploy
@ -1103,14 +1101,14 @@ ecosystem-teamcity-agent-images:
cd `pwd`/linux/ecosystem/teamcity/agent/node20 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/node20 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/node21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/node21 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/node22 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/node22 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/php7.2 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/teamcity/agent/php7.2 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/php7.3 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/teamcity/agent/php7.3 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/php7.4 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/teamcity/agent/php7.4 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/php8.0 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/teamcity/agent/php8.0 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/php8.1 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/teamcity/agent/php8.1 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/php8.2 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/teamcity/agent/php8.2 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/php8.3 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/teamcity/agent/php8.3 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/teamcity/agent/steam-sdk && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/teamcity/agent/steam-sdk && pwd && make build && make deploy
ecosystem-gitlab-runner-images: ecosystem-gitlab-runner-images:
cd `pwd`/linux/ecosystem/gitlab/runner/latest && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/latest && pwd && make build && make deploy

View File

@ -45,3 +45,5 @@ RUN apt clean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -36,7 +36,6 @@ RUN export AMXX_BASE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.
chmod -R 700 $AMXX_INC_PATH && \ chmod -R 700 $AMXX_INC_PATH && \
amxxpc --help 2>&1 | head -n 1 amxxpc --help 2>&1 | head -n 1
################################################################## ##################################################################
# cleaninig up # cleaninig up
################################################################## ##################################################################
@ -46,3 +45,5 @@ RUN apt clean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -108,7 +108,6 @@ RUN sdkmanager --install \
"build-tools;34.0.0-rc3" \ "build-tools;34.0.0-rc3" \
"build-tools;34.0.0-rc4" "build-tools;34.0.0-rc4"
RUN sdkmanager --install \ RUN sdkmanager --install \
"cmake;3.10.2.4988404" \ "cmake;3.10.2.4988404" \
"cmake;3.18.1" \ "cmake;3.18.1" \
@ -553,3 +552,5 @@ RUN apt clean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -108,7 +108,6 @@ RUN sdkmanager --install \
"build-tools;34.0.0-rc3" \ "build-tools;34.0.0-rc3" \
"build-tools;34.0.0-rc4" "build-tools;34.0.0-rc4"
RUN sdkmanager --install \ RUN sdkmanager --install \
"cmake;3.10.2.4988404" \ "cmake;3.10.2.4988404" \
"cmake;3.18.1" \ "cmake;3.18.1" \
@ -553,3 +552,5 @@ RUN apt clean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -108,7 +108,6 @@ RUN sdkmanager --install \
"build-tools;34.0.0-rc3" \ "build-tools;34.0.0-rc3" \
"build-tools;34.0.0-rc4" "build-tools;34.0.0-rc4"
RUN sdkmanager --install \ RUN sdkmanager --install \
"cmake;3.10.2.4988404" \ "cmake;3.10.2.4988404" \
"cmake;3.18.1" \ "cmake;3.18.1" \
@ -553,3 +552,5 @@ RUN apt clean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -15,9 +15,9 @@ ARG DEBIAN_FRONTEND=noninteractive
# #
# https://community.developer.atlassian.com/t/the-repository-https-packages-atlassian-com-atlassian-sdk-deb-stable-release-is-not-signed/36901 # https://community.developer.atlassian.com/t/the-repository-https-packages-atlassian-com-atlassian-sdk-deb-stable-release-is-not-signed/36901
############################### ###############################
RUN curl -fsSL https://packages.atlassian.com/api/gpg/key/public | apt-key add - && \ COPY etc/apt/keyrings/atlassian.asc /etc/apt/keyrings/
echo 'deb [trusted=yes] https://packages.atlassian.com/atlassian-sdk-deb stable contrib' > /etc/apt/sources.list.d/atlassian-sdk.list && \ COPY etc/apt/sources.list.d/atlassian-sdk.list /etc/apt/sources.list.d/
apt-get update --allow-insecure-repositories && \ RUN apt-get update --allow-insecure-repositories && \
apt-get install -y --no-install-recommends --allow-unauthenticated \ apt-get install -y --no-install-recommends --allow-unauthenticated \
atlassian-plugin-sdk atlassian-plugin-sdk
@ -30,3 +30,5 @@ RUN apt clean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -0,0 +1,86 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFjI3poBEADZReqFbIKxXzliXUM5YbEdd/pf2qzwltNYx4BenJELhEaGUXCL
kTu30cfQdLpzhqixd4sKwzcBtrA7F2bP8Xzu1Te1F3P0tL6DHuczgpoqG04nZZLA
8bBj4tfYeNv0YpXfKhFyHHUbXD3ZFHL71AF8O0G7U9mNFyKK1JL4sNMHnleI5tWU
rkXtpUbSCFIZx5qdh2dcmwEob6F0AfM+097fVGe5KC8JAzT81tr5mEp4G0orzkUW
Yi17jce2RC6def12aebPXAeYJlyXaKdssktqVnlz0Q9kDFys34ugyVzroQ41a9Rl
zrZ6NLknVYxSgdePTo2ys54wJi3TujWDuKCoiMJZ06Rh/WQxBz+WnYPwqmsftlMz
lVWPtL2SY4jJhoDtQl6LQjPd3jMPolWzxXlvGer+xo3hS8FwLAxzcWp5zRS5Fhum
6w0xYhtQJgqeiwaT1e5V31d6UektD1UayCg/GtFC3M1tPYI69X7aS2VhlYql7Gv/
CGC0wZCfuJ6C8xHlxROlbYPZ9oEkaiE6cFmzWfVLtr1stO+8fiEgsJMS+tCaNwhd
LzkNnxIt8xN/CftuIE2YhwcxzAizfL7IcvoeNz6LlrdJWDntcs49GFqfWoNW7M6K
UjWnnZBTr8thGZOl8OB3KKZjM2bn5V9vI4fQ/S9v+NiU4Y6LRlcIbaIwiQARAQAB
tGJCdWlsZCBFbmdpbmVlcmluZyBUZWFtIChHUEcga2V5IHRvIHNpZ24gQXRsYXNz
aWFuIGRlYmlhbi95dW0gYXJ0aWZhY3RzKSA8YnVpbGQtdGVhbUBhdGxhc3NpYW4u
Y29tPokCOQQTAQgAIwUCWMjemgIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheA
AAoJELVslWWVdJW5DkoQAJpIzmjLGpqAO0PcCtmSMtvVIAnXQEFgKY1DTp7yfMdz
VdR3S58GVepWIUSZiVAPfzrpX6J7Nfeb4HUivGb89wxSLPgP+3RByVaW3hwh11H8
SuO7q3rGAaT2DQUSafvdw9O22ssLrqmnV3LkLhF045XUv6Qrma88SQVCm8XpZ7JY
Cvaobz0083/mIQI3DjFMj7J69QpshVjcJnV9bRQrHAhF11eGCgOT9t7w4Iw35iqM
assSFihUNoVyWd6B+lrdY0yloqIMwXZT3Y+2F5J5IYzSQL8j6uBDWww/hfJL8iZC
k7kNZRvnyEfxBV2mQViawy42rTw9CpXpLwiNonWm871UEpr4P0OnAH1oqLdDbOO5
XBmpDDoGorBzZ9cyWYWsh7o3aHwPjidwbBi+Wlm1DdbLNt4nbkovXEzvo1anyP8C
lnb0aayFugJvwZCWIINhXl2pMy8LD0cIsJ5u+lUlteiNqJHrNsEs5L/RqUT2/oJE
rQhoNDD45bi09RDijsErBH+0jmTJCA/Y/QF0aBIHMnUW/QJfTJtnKltt+kUinPwX
CBTpsXhFYhpPgC1RBZjeVEwNU3+JfWyvRVihG/bl+hhOxlRqecHzDsobdb94G+Pk
D+ik8CspQ35/w/VizNgiW/CCWOap2F7+AXkEWOFek0BdrvptTs9YpHXtLmLuQgAM
uQINBFjI3poBEADGFarW4ZTrWpb6jj6xNnkMYHbd+Fl90hNDumHQmNwyv4iDYto0
p+CWng0ocSbN8LylKE+c/kFBvWOuDVxtosLt4RCbF5SLK3/kKND1y1XRnya3bOax
atA4U9vfcAxfoAp+7NXANi9gCWMr1rWvd6tKVYSTuG9EoFJWXtUsAeyUYEtbXwrn
zor70WI4j6GJnlnH35viIDMxkaBreKbcYkun3xa/3uzQxg620tcgqjsCKrcXxNMZ
tH3bnYsDinL3ikwSMU/uylzcq7RAU0rQ2L55us1DpOVEEFAH2vRLWcQwQYBUXGhi
0hxQJGlI5bYISTS67u5Vzlg8bPKHytAv7UZwWqEk8OhqaEWJmpoIfBz7RFALcZtg
WGrYbl22HO5zV/kf0Muh10cB8drKxk6zNl747+bQ1q7VZsZfrTU0jZd0ol/8XPmc
0uO59w514LfnUKgbgMgL2A0/TWPWJsOb/e0bPB28TdjB/QVTAED9/2B8h0w6Simo
xILWXG3po3VS3BZWpxH6bADNEoHFJsI37/T4LsjvlQgdk/9bUx9CKiOm6jKaHIqv
Y1ow5qsF58841e8Y09Kf93FooOtgl3tUUszuE2dY+3zyFcMeeySjreEUJTZR218d
u0yT1PbMEX0s8uO6IbXJ8diBU/iDfGoZpB/LnTPXLNGf5JSpoqOQqLntywARAQAB
iQIfBBgBCAAJBQJYyN6aAhsMAAoJELVslWWVdJW5O1gP/2rX+yWB/QcROXN0ZmMB
Tg4VU0X6TZMsp2cbkPBxcqLEumc3LGqM3IQdEuHiv3pjkq0CzrIT73YWD+86JRT1
HS51mhMLUkw6WkqjWf5+ODzjLzqXt6oUEmSUBNR5gpIKCjOswXkqB5LJBanR7YS6
fC+/BQLdLh8sQ9hJw3T6aABp/Yf0dEFEmZLL/r7DF1wZdg6qfSeukU6f8b0uo9un
fGCDn3FWEh5UunJ1Xxh+DnttnYRMkhvI3jIls7D8KggMhixdiFCMnuVtIzecyuU7
jQBhQDwVkAtnIRex/pw4iv2J73q+YekEwI8IERykwaYuqM101QEbpMik9xtCPdoW
Nd5cXAx6WFsT6eeWe6NE5CphSATuhi7qRL3wScjT+OqoHX3Xr3QXXrBbQw5BR6R8
YNPyev4ihuEArFml8gpXxYFN1CQBp/lfShzG4goLYji9xNGvr6r/mfADacI5CRQ9
t7LSMJH+1ho3hrIBqF6oNjYyjOrvjMaNTMyS3Bq/2dCu29/083IZqFT4Uj30vYsN
49rXkC5M5DdCw1MhH10L9zrEswITMngNdWFT/LYXeeBvp7RvWG9AwWFguyMxbcmG
tvgk2bSRLlKcoQ78FKzmwhfe0NVg/5R9kTn45eU9RLIASgDnyaOw8EEbE3f6NiaJ
rbchfSKPy38kdMCUZcOHnAJDuQINBFjI3zMBEACtfn1/0UzrSZAVTbuCtTmNQ5J4
Cq3JwS99rKFVmDAyKGHHKMaV39B14AoJTKXRGFI5CQSRV1dETu9K+0Gvv8AkjDcJ
3+ROpBJBqsPTrLmFoQxImoEZ1tki2kyYeGXlXmOe1VMxU3gRip4gzXGH5WGSIa/h
ydLXm1CkG0Uzczgf79Hes3XMDiQ8qgFuO/C0r08yeEfkzY7j55FZOS7j7Qltk5yU
pnU8fgDcZbBPfuo/YlEyalW3BC6ELMXDPY61g1AGmfbEboKa1xBiE32v0J9zj1QR
rsHxzmZZ65QbpONpJIyrop4WMXQURFd+r76FfpQBoSHg050iSWTDV8ySYk4V9LBU
5BYnIvu5pSjK2Qy25EfW3g5RCIeTScAXzslPwizIvkB97OfFb9krCGslX82bMRjA
tNN7abeQ8DVgxKAvVz7OxKpgPPS61+wnNdeNQYLVr6ckVYmfusO7wNdPBIixhaYQ
n1wZxnYhVdO538sq0g/tbFf87R1Ygx9S5CsHvbdr6oMk9oxFiwvaYwpiNhRa3k5k
KK2vSfqTqQyV6n+nFptyrpWw65plhbFtrAw6Mk/dfsev24HYOcc+FQ9fo7CaVh7q
hFj/AmVmeJXPfrKzWuQWBv6I35TXZpcS5bDjUerhjCFa/I3cy3AH8wpf9vZBwMLc
HI8TlGMgKQzDFbMSvwARAQABiQQ+BBgBCAAJBQJYyN8zAhsCAikJELVslWWVdJW5
wV0gBBkBCAAGBQJYyN8zAAoJEDYLQ+tLJdhXPOYP/RSEpD9d+hT003v4GIBl/6dW
ObQ/inVPTE2J4xnl5VSFGFLLuC+Rto6eGswDqpDWRYmnLctEUUFdkNvE+bQu4BIF
F6jR5Gn8qm1Ou1xisVFIEHIkNgoinIs7BCVlzCreGL0TIsPEpB2mRdD/ayr3OsZW
evJ7qXOMR+kiQ1d2kiGC6YAHT8cyb0R407gZSTGYtmHfuZ7aiE1DhSOD1bOiiYKY
K4FlY0a/U9JPdDHM9y4dHMblv+yQwcPbb2+oLEEuYcqnX3unLq58TR8betzNFwJ4
iNdEb3UqPpg6o5U1RFbSCHzScal8Ly9mkzp1IC+kST35PTLP6oPgtdBkxQqGwtV9
B2OOJPZGnhNVjjAMEhDfMHSHAaH2hpxZvH3tvlJjAayalANWGb4iUgjTIZ0Auoy8
agCjdEKhcCfqwTMSf3++b1bY/5/aGT6FAvhHWjSOGoBaTXH+pXxCCEsRBThELjMo
hTNjGSIS3tnyJK+NpMoZm1evBTCz/fWTmGseY9PrH3P4vXtIzH8ImTAmvQX/EIHL
Nnm6VoSjM1EdgeVHN8mfeVSqoC/yWMvwVqyzxG+rfwhAvRYseK5RDS5ErIM/FPT/
zHaMn3FJhBBHzhaw8vAQKpbufc/fe35MujHvwRHQsoWRIysDWHC+7D+adAPzQuEO
gYYYLD0avCsKaoRJ1uErE9MP/2f9+ZONtSy3W4InlhTl+N6G547bdiQbTvdqoFMe
ec0K8NowBFhul/j5AUBbW2snAN8j9REYigQZrestVazsQPwdEFtog99N6hKRSV/u
xBGgx3Fx643wQez4JYOA0qxub4qeHfIc9yPecHjuz5qD4yFI/nR869VXLkhlBleE
gw9MDgtrc0Syqc1pr5/EKih8ZRHAWzNGpdKhXN5+1hwpPlmq3pp2hsZDgJ/Qi9yx
r6cRIHLIKOCqWioJtbZod+Ish+m2KzcUZryQkRYXCe+JEID3ibx74ZkWbGJ63JUw
px59x7XAalTayA8EUCc+1fyNS1bA/0K0Nob7ZXfy+wAPIl5X0TQ5FSh6rvPTnVL/
Yk8SHQPTrxr/i9Buaub3PyOA9p6c72mCsElppOj2gQAu+xHdolgaLJRlLsEWj+9g
Kg/mas08V3dW34+jE8Z/6wa1BP3pGBJODhOgpAN4A8dbryqMVTYFVUvRPNLnU2Ue
/BcvqaDwTA6Ir/6UveQHPDGaLd14btuRjvnggNygrmxD7uZbs8+h6I6Hgu5jBZ5U
or+44YpIO3VkO2BWPVq2rJ124DuN5l5j2jpYrUP+FKaJh4Mj9WOih+DBi3WeXEeI
54iajRX5eeLQu895qRIobak4Uht+590qxO1HFY0AwllgRJTFZUVUfEr8cN2YdzX4
EncZ
=/56f
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1 @@
deb [trusted=yes signed-by=/etc/apt/keyrings/atlassian.asc] https://packages.atlassian.com/atlassian-sdk-deb stable contrib

View File

@ -22,57 +22,37 @@ ENV CLR_OPENSSL_VERSION_OVERRIDE=45
# PowerShell telemetry for docker image usage # PowerShell telemetry for docker image usage
ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-10 ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-10
#Install packages #Install packages
RUN curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - && \
echo 'deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/debian/12/prod boowkworm main' > /etc/apt/sources.list.d/microsoft.dotnet.list && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
libc6 \
libgcc1 \
libgssapi-krb5-2 \
# libicu63 \
liblttng-ust0 \
libssl1.1 \
libstdc++6 \
zlib1g \
# dotnet-sdk-2.1 \
# dotnet-runtime-deps-2.1 \
# dotnet-runtime-2.1 \
# dotnet-hostfxr-2.1 \
# dotnet-sdk-3.1 \
# dotnet-targeting-pack-3.1 \
# dotnet-runtime-deps-3.1 \
# dotnet-runtime-3.1 \
# dotnet-hostfxr-3.1 \
# dotnet-apphost-pack-3.1 \
# dotnet-sdk-5.0 \
# dotnet-targeting-pack-5.0 \
# dotnet-runtime-deps-5.0 \
# dotnet-runtime-5.0 \
# dotnet-hostfxr-5.0 \
# dotnet-apphost-pack-5.0 \
# dotnet-sdk-6.0 \
# dotnet-targeting-pack-6.0 \
# dotnet-runtime-deps-6.0 \
# dotnet-runtime-6.0 \
# dotnet-hostfxr-6.0 \
# dotnet-apphost-pack-6.0 \
dotnet-sdk-7.0 \
dotnet-targeting-pack-7.0 \
dotnet-runtime-deps-7.0 \
dotnet-runtime-7.0 \
dotnet-hostfxr-7.0 \
dotnet-apphost-pack-7.0 \
# dotnet-host \
procdump \
# procmon \
powershell-preview \
powershell
# Trigger .NET CL\I first run experience by running arbitrary cmd to populate local package cache ENV DOTNET_CHANNEL=LTS
RUN dotnet --info && \ ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL}
pwsh-preview -v && \ ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools
pwsh -v ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT}
ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
##################################################################
# installing dotnet
##################################################################
ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp
RUN mkdir -p ${DOTNET_ROOT} && \
chmod +x /tmp/dotnet-install.sh && \
/tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest
##################################################################
# Setup $PATH
##################################################################
ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}
##################################################################
# Version after install
##################################################################
RUN echo "=============================================" && \
echo $(dotnet --info) && \
echo $(dotnet --list-sdks) && \
echo $(dotnet --list-runtimes) && \
echo "============================================="
################################################################## ##################################################################
# Mono # Mono
@ -91,13 +71,14 @@ RUN dotnet --info && \
# ca-certificates-mono # ca-certificates-mono
# mono-xsp4 # mono-xsp4
################################################################## ##################################################################
# cleaninig up # cleanup
################################################################## ##################################################################
RUN apt clean -y && \ RUN echo "clean up" && \
apt-get clean all && \ apt-get clean -y && \
apt autoclean -y && \ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /tmp/* && \
rm -rfv /tmp/* rm -rfv /var/cache/apt/archives/*.deb
RUN updatedb

View File

@ -0,0 +1,85 @@
FROM epicmorg/debian:bookworm-develop-jdk8
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# teamcity minimal agent
##################################################################
LABEL dockerImage.teamcity.version="latest" \
dockerImage.teamcity.buildNumber="latest"
VOLUME /data/teamcity_agent/conf
ENV CONFIG_FILE=/data/teamcity_agent/conf/buildAgent.properties
ENV GIT_SSH_VARIANT=ssh
COPY run-agent.sh /run-agent.sh
RUN chmod +x /run-agent.sh && \
sync
COPY run-services.sh /run-services.sh
RUN chmod +x /run-services.sh && \
sync
ARG TC_AGENT_URL=https://teamcity.jetbrains.com/update/buildAgent.zip
ADD ${TC_AGENT_URL} /tmp
RUN unzip -q /tmp/buildAgent.zip -d /opt/buildagent && \
mv /opt/buildagent/conf /opt/buildagent/conf_dist && \
rm -rfv /tmp/buildAgent.zip
RUN useradd -m buildagent && \
chmod +x /opt/buildagent/bin/*.sh && \
chmod +x /run-agent.sh /run-services.sh && sync
##################################################################
# teamcity docker setup
##################################################################
#Install packages
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin \
systemd && \
systemctl disable docker && \
usermod -aG docker buildagent
# A better fix for TW-52939 Dockerfile build fails because of aufs
VOLUME /var/lib/docker
COPY run-docker.sh /services/run-docker.sh
RUN chmod +x /services/run-docker.sh && \
sync
##################################################################
# teamcity docker compose setup
##################################################################
#Install packages
RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \
echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*
CMD ["/run-services.sh"]
EXPOSE 9090
RUN updatedb

View File

@ -0,0 +1,85 @@
FROM epicmorg/debian:bookworm-develop-jdk11
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# teamcity minimal agent
##################################################################
LABEL dockerImage.teamcity.version="latest" \
dockerImage.teamcity.buildNumber="latest"
VOLUME /data/teamcity_agent/conf
ENV CONFIG_FILE=/data/teamcity_agent/conf/buildAgent.properties
ENV GIT_SSH_VARIANT=ssh
COPY run-agent.sh /run-agent.sh
RUN chmod +x /run-agent.sh && \
sync
COPY run-services.sh /run-services.sh
RUN chmod +x /run-services.sh && \
sync
ARG TC_AGENT_URL=https://teamcity.jetbrains.com/update/buildAgent.zip
ADD ${TC_AGENT_URL} /tmp
RUN unzip -q /tmp/buildAgent.zip -d /opt/buildagent && \
mv /opt/buildagent/conf /opt/buildagent/conf_dist && \
rm -rfv /tmp/buildAgent.zip
RUN useradd -m buildagent && \
chmod +x /opt/buildagent/bin/*.sh && \
chmod +x /run-agent.sh /run-services.sh && sync
##################################################################
# teamcity docker setup
##################################################################
#Install packages
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin \
systemd && \
systemctl disable docker && \
usermod -aG docker buildagent
# A better fix for TW-52939 Dockerfile build fails because of aufs
VOLUME /var/lib/docker
COPY run-docker.sh /services/run-docker.sh
RUN chmod +x /services/run-docker.sh && \
sync
##################################################################
# teamcity docker compose setup
##################################################################
#Install packages
RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \
echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*
CMD ["/run-services.sh"]
EXPOSE 9090
RUN updatedb

View File

@ -0,0 +1,85 @@
FROM epicmorg/debian:bookworm-develop-jdk17
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# teamcity minimal agent
##################################################################
LABEL dockerImage.teamcity.version="latest" \
dockerImage.teamcity.buildNumber="latest"
VOLUME /data/teamcity_agent/conf
ENV CONFIG_FILE=/data/teamcity_agent/conf/buildAgent.properties
ENV GIT_SSH_VARIANT=ssh
COPY run-agent.sh /run-agent.sh
RUN chmod +x /run-agent.sh && \
sync
COPY run-services.sh /run-services.sh
RUN chmod +x /run-services.sh && \
sync
ARG TC_AGENT_URL=https://teamcity.jetbrains.com/update/buildAgent.zip
ADD ${TC_AGENT_URL} /tmp
RUN unzip -q /tmp/buildAgent.zip -d /opt/buildagent && \
mv /opt/buildagent/conf /opt/buildagent/conf_dist && \
rm -rfv /tmp/buildAgent.zip
RUN useradd -m buildagent && \
chmod +x /opt/buildagent/bin/*.sh && \
chmod +x /run-agent.sh /run-services.sh && sync
##################################################################
# teamcity docker setup
##################################################################
#Install packages
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin \
systemd && \
systemctl disable docker && \
usermod -aG docker buildagent
# A better fix for TW-52939 Dockerfile build fails because of aufs
VOLUME /var/lib/docker
COPY run-docker.sh /services/run-docker.sh
RUN chmod +x /services/run-docker.sh && \
sync
##################################################################
# teamcity docker compose setup
##################################################################
#Install packages
RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \
echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*
CMD ["/run-services.sh"]
EXPOSE 9090
RUN updatedb

View File

@ -0,0 +1,85 @@
FROM epicmorg/debian:bookworm-develop-jdk21
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# teamcity minimal agent
##################################################################
LABEL dockerImage.teamcity.version="latest" \
dockerImage.teamcity.buildNumber="latest"
VOLUME /data/teamcity_agent/conf
ENV CONFIG_FILE=/data/teamcity_agent/conf/buildAgent.properties
ENV GIT_SSH_VARIANT=ssh
COPY run-agent.sh /run-agent.sh
RUN chmod +x /run-agent.sh && \
sync
COPY run-services.sh /run-services.sh
RUN chmod +x /run-services.sh && \
sync
ARG TC_AGENT_URL=https://teamcity.jetbrains.com/update/buildAgent.zip
ADD ${TC_AGENT_URL} /tmp
RUN unzip -q /tmp/buildAgent.zip -d /opt/buildagent && \
mv /opt/buildagent/conf /opt/buildagent/conf_dist && \
rm -rfv /tmp/buildAgent.zip
RUN useradd -m buildagent && \
chmod +x /opt/buildagent/bin/*.sh && \
chmod +x /run-agent.sh /run-services.sh && sync
##################################################################
# teamcity docker setup
##################################################################
#Install packages
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin \
systemd && \
systemctl disable docker && \
usermod -aG docker buildagent
# A better fix for TW-52939 Dockerfile build fails because of aufs
VOLUME /var/lib/docker
COPY run-docker.sh /services/run-docker.sh
RUN chmod +x /services/run-docker.sh && \
sync
##################################################################
# teamcity docker compose setup
##################################################################
#Install packages
RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \
echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*
CMD ["/run-services.sh"]
EXPOSE 9090
RUN updatedb

View File

@ -0,0 +1,26 @@
#version: '3'
services:
app-jdk8:
image: "epicmorg/teamcity-agent:latest-jdk8"
build:
context: .
app-jdk11:
image: "epicmorg/teamcity-agent:latest-jdk11"
build:
context: .
dockerfile: Dockerfile.jdk11
app-jdk17:
image: "epicmorg/teamcity-agent:latest-jdk17"
build:
context: .
dockerfile: Dockerfile.jdk17
app-jdk21:
image: "epicmorg/teamcity-agent:latest-jdk21"
build:
context: .
dockerfile: Dockerfile.jdk21
app:
image: "epicmorg/teamcity-agent:latest"
build:
context: .
dockerfile: Dockerfile.jdk21

View File

@ -1,159 +0,0 @@
FROM epicmorg/debian:bookworm-develop-jdk11
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# sid sources list
##################################################################
#RUN rm -rfv /etc/apt/sources.list
#COPY sources.sid.list /etc/apt/sources.list
RUN apt-get update && \
apt autoremove -y && \
apt-get dist-upgrade -y && \
apt autoremove -y
##################################################################
# teamcity minimal agent
##################################################################
LABEL dockerImage.teamcity.version="latest" \
dockerImage.teamcity.buildNumber="latest"
VOLUME /data/teamcity_agent/conf
ENV CONFIG_FILE=/data/teamcity_agent/conf/buildAgent.properties
ENV LANG=C.UTF-8
ENV GIT_SSH_VARIANT=ssh
COPY run-agent.sh /run-agent.sh
RUN chmod +x /run-agent.sh && \
sync
COPY run-services.sh /run-services.sh
RUN chmod +x /run-services.sh && \
sync
ADD https://teamcity.jetbrains.com/update/buildAgent.zip /buildAgent.zip
RUN unzip -q /buildAgent.zip -d /opt/buildagent && \
mv /opt/buildagent/conf /opt/buildagent/conf_dist && \
rm -rfv /buildAgent.zip
RUN useradd -m buildagent && \
chmod +x /opt/buildagent/bin/*.sh && \
chmod +x /run-agent.sh /run-services.sh && sync
##################################################################
# teamcity docker setup
##################################################################
#Install packages
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \
echo 'deb https://download.docker.com/linux/debian bullseye test' > /etc/apt/sources.list.d/docker.list && \
echo 'deb https://download.docker.com/linux/debian bullseye nightly' >> /etc/apt/sources.list.d/docker.list && \
apt-cache policy docker-ce && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
docker-ce \
docker-ce-cli \
containerd.io systemd && \
systemctl disable docker && \
usermod -aG docker buildagent
# A better fix for TW-52939 Dockerfile build fails because of aufs
VOLUME /var/lib/docker
COPY run-docker.sh /services/run-docker.sh
RUN chmod +x /services/run-docker.sh && \
sync
##################################################################
# teamcity docker compose setup
##################################################################
#Install packages
RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \
echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
##################################################################
# Additional settings
##################################################################
ENV MAVEN_VERSION=3.9.8
ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip
ENV MAVEN_ROOT=${EMG_LOCAL_BASE_DIR}/maven/${MAVEN_VERSION}
ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION}
ENV MAVEN_BIN=${MAVEN_PATH}/bin
ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip
ENV GRADLE_VERSION=8.8
ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
ENV GRADLE_ROOT=${EMG_LOCAL_BASE_DIR}/gradle/${GRADLE_VERSION}
ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION}
ENV GRADLE_BIN=${GRADLE_PATH}/bin
ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip
ENV KTC_VERSION=2.0.0
ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip
ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip
ENV KTC_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KTC_VERSION}
ENV KTC_PATH=${KTC_ROOT}/kotlinc
ENV KTC_BIN=${KTC_PATH}/bin
ENV KNPL_VERSION=${KTC_VERSION}
ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
ENV KNPL_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KNPL_VERSION}
ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}
ENV KNPL_BIN=${KNPL_PATH}/bin
RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH}
ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN}
##################################################################
# Maven
##################################################################
ENV MAVEN_HOME=${MAVEN_ROOT}
ENV M2_HOME=${MAVEN_ROOT}
ADD ${MAVEN_LINK} /tmp
RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT}
RUN chmod +x -R ${MAVEN_BIN}
RUN mvn -v
##################################################################
# GRADLE
##################################################################
ADD ${GRADLE_LINK} /tmp
RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT}
RUN chmod +x -R ${GRADLE_BIN}
RUN gradle -v
##################################################################
# kotlin-compiler
##################################################################
ADD ${KTC_LINK} /tmp
RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT}
RUN chmod +x -R ${KTC_BIN}
RUN kotlin -version
##################################################################
# kotlin-native-prebuilt-linux
##################################################################
ADD ${KNPL_LINK} /tmp
RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT}
RUN chmod +x -R ${KNPL_BIN}
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*
CMD ["/run-services.sh"]
EXPOSE 9090

View File

@ -1,6 +0,0 @@
#version: '3'
services:
app:
image: "epicmorg/teamcity-agent:latest-jdk11"
build:
context: .

View File

@ -1,7 +0,0 @@
#main
deb http://httpredir.debian.org/debian/ sid main contrib non-free
deb-src http://httpredir.debian.org/debian/ sid main contrib non-free
##multimedia
#deb http://httpredir.debian.org/debian-multimedia/ sid main non-free
#deb-src http://httpredir.debian.org/debian-multimedia/ sid main non-free

View File

@ -1,159 +0,0 @@
FROM epicmorg/debian:bookworm-develop-jdk17
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# sid sources list
##################################################################
#RUN rm -rfv /etc/apt/sources.list
#COPY sources.sid.list /etc/apt/sources.list
RUN apt-get update && \
apt autoremove -y && \
apt-get dist-upgrade -y && \
apt autoremove -y
##################################################################
# teamcity minimal agent
##################################################################
LABEL dockerImage.teamcity.version="latest" \
dockerImage.teamcity.buildNumber="latest"
VOLUME /data/teamcity_agent/conf
ENV CONFIG_FILE=/data/teamcity_agent/conf/buildAgent.properties
ENV LANG=C.UTF-8
ENV GIT_SSH_VARIANT=ssh
COPY run-agent.sh /run-agent.sh
RUN chmod +x /run-agent.sh && \
sync
COPY run-services.sh /run-services.sh
RUN chmod +x /run-services.sh && \
sync
ADD https://teamcity.jetbrains.com/update/buildAgent.zip /buildAgent.zip
RUN unzip -q /buildAgent.zip -d /opt/buildagent && \
mv /opt/buildagent/conf /opt/buildagent/conf_dist && \
rm -rfv /buildAgent.zip
RUN useradd -m buildagent && \
chmod +x /opt/buildagent/bin/*.sh && \
chmod +x /run-agent.sh /run-services.sh && sync
##################################################################
# teamcity docker setup
##################################################################
#Install packages
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \
echo 'deb https://download.docker.com/linux/debian bullseye test' > /etc/apt/sources.list.d/docker.list && \
echo 'deb https://download.docker.com/linux/debian bullseye nightly' >> /etc/apt/sources.list.d/docker.list && \
apt-cache policy docker-ce && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
docker-ce \
docker-ce-cli \
containerd.io systemd && \
systemctl disable docker && \
usermod -aG docker buildagent
# A better fix for TW-52939 Dockerfile build fails because of aufs
VOLUME /var/lib/docker
COPY run-docker.sh /services/run-docker.sh
RUN chmod +x /services/run-docker.sh && \
sync
##################################################################
# teamcity docker compose setup
##################################################################
#Install packages
RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \
echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
##################################################################
# Additional settings
##################################################################
ENV MAVEN_VERSION=3.9.8
ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip
ENV MAVEN_ROOT=${EMG_LOCAL_BASE_DIR}/maven/${MAVEN_VERSION}
ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION}
ENV MAVEN_BIN=${MAVEN_PATH}/bin
ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip
ENV GRADLE_VERSION=8.8
ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
ENV GRADLE_ROOT=${EMG_LOCAL_BASE_DIR}/gradle/${GRADLE_VERSION}
ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION}
ENV GRADLE_BIN=${GRADLE_PATH}/bin
ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip
ENV KTC_VERSION=2.0.0
ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip
ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip
ENV KTC_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KTC_VERSION}
ENV KTC_PATH=${KTC_ROOT}/kotlinc
ENV KTC_BIN=${KTC_PATH}/bin
ENV KNPL_VERSION=${KTC_VERSION}
ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
ENV KNPL_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KNPL_VERSION}
ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}
ENV KNPL_BIN=${KNPL_PATH}/bin
RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH}
ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN}
##################################################################
# Maven
##################################################################
ENV MAVEN_HOME=${MAVEN_ROOT}
ENV M2_HOME=${MAVEN_ROOT}
ADD ${MAVEN_LINK} /tmp
RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT}
RUN chmod +x -R ${MAVEN_BIN}
RUN mvn -v
##################################################################
# GRADLE
##################################################################
ADD ${GRADLE_LINK} /tmp
RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT}
RUN chmod +x -R ${GRADLE_BIN}
RUN gradle -v
##################################################################
# kotlin-compiler
##################################################################
ADD ${KTC_LINK} /tmp
RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT}
RUN chmod +x -R ${KTC_BIN}
RUN kotlin -version
##################################################################
# kotlin-native-prebuilt-linux
##################################################################
ADD ${KNPL_LINK} /tmp
RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT}
RUN chmod +x -R ${KNPL_BIN}
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*
CMD ["/run-services.sh"]
EXPOSE 9090

View File

@ -1,36 +0,0 @@
PIP_BREAK_SYSTEM_PACKAGES=1
all: app
app:
make build
make deploy
make clean
build:
kaniko-wrapper --version
dry:
make dry-run
test:
make dry-run
dry-run:
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run
build-compose:
docker-compose build --compress --parallel --progress plain
deploy:
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug
deploy-compose:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -1,93 +0,0 @@
## TeamCity Minimal Build Agent
[<img src="http://jb.gg/badges/official.svg" height="20"/>](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image.
<img src="https://raw.githubusercontent.com/JetBrains/teamcity-docker-images/master/logo/GitHub.png" height="20" align="center"/> More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md).
The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes.
You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server.
This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/).
## How to Use This Image
Pull the TeamCity minimal image from the Docker Hub Repository:
```
jetbrains/teamcity-minimal-agent
```
&nbsp;
and use the following command to start a container with TeamCity agent running inside
a Linux container:
```
docker run -it -e SERVER_URL="<url to TeamCity server>" \
-v <path to agent config folder>:/data/teamcity_agent/conf \
jetbrains/teamcity-minimal-agent
```
&nbsp;
or a Windows container:
```
docker run -it -e SERVER_URL="<url to TeamCity server>"
-v <path to agent config folder>:C:/BuildAgent/conf
jetbrains/teamcity-minimal-agent
```
where `<url to TeamCity server>` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container.
`<path to agent config folder>` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create.
Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases.
When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html).
All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved.
TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server.
### Agent Image Environment Variables
- **SERVER_URL** - URL of the TeamCity server agent will connect to
- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted
- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI.
- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected
- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default
### Windows Containers Limitations
The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers).
## Customization
You can customize the image via the usual Docker procedure:
1. Run the image
```
docker run -it -e SERVER_URL="<url to TeamCity server>" \
-v <path to agent config folder>:/data/teamcity_agent/conf \
--name="my-customized-agent" \
jetbrains/teamcity-minimal-agent \
```
2. Enter the container
```
docker exec -it my-customized-agent bash
```
3. Change whatever you need
4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container
```
docker commit my-customized-agent <the registry where you what to store the image>
```
## License
The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html).
TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html).
## Feedback
Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW).
## Other TeamCity Images
* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/)
* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/)

View File

@ -1,10 +0,0 @@
#version: '3'
services:
app:
image: "epicmorg/teamcity-agent:latest"
build:
context: .
app-jdk17:
image: "epicmorg/teamcity-agent:latest-jdk17"
build:
context: .

View File

@ -1,90 +0,0 @@
#!/bin/bash
check() {
if [[ $? != 0 ]]; then
echo "Error! Stopping the script."
exit 1
fi
}
configure() {
if [[ $# -gt 0 ]]; then
echo "run agent.sh configure $@"
${AGENT_DIST}/bin/agent.sh configure "$@"; check
fi
}
reconfigure() {
declare -a opts
[[ -n "${SERVER_URL}" ]] && opts[${#opts[@]}]='--server-url' && opts[${#opts[@]}]="$SERVER_URL"
[[ -n "${AGENT_TOKEN}" ]] && opts[${#opts[@]}]='--auth-token' && opts[${#opts[@]}]="$AGENT_TOKEN"
[[ -n "${AGENT_NAME}" ]] && opts[${#opts[@]}]='--name' && opts[${#opts[@]}]="$AGENT_NAME"
[[ -n "${OWN_ADDRESS}" ]] && opts[${#opts[@]}]='--ownAddress' && opts[${#opts[@]}]="$OWN_ADDRESS"
[[ -n "${OWN_PORT}" ]] && opts[${#opts[@]}]='--ownPort' && opts[${#opts[@]}]="$OWN_PORT"
if [[ 0 -ne "${#opts[@]}" ]]; then
# Using sed to strip double quotes produced by docker-compose
for i in $(seq 0 $(expr ${#opts[@]} - 1)); do
opts[$i]="$(echo "${opts[$i]}" | sed -e 's/""/"/g')"
done
configure "${opts[@]}"
echo "File buildAgent.properties was updated"
fi
for AGENT_OPT in ${AGENT_OPTS}; do
echo ${AGENT_OPT} >> ${CONFIG_DIR}/buildAgent.properties
done
}
prepare_conf() {
echo "Will prepare agent config" ;
cp -p ${AGENT_DIST}/conf_dist/*.* ${CONFIG_DIR}/; check
cp -p ${CONFIG_DIR}/buildAgent.dist.properties ${CONFIG_DIR}/buildAgent.properties; check
reconfigure
echo "File buildAgent.properties was created and updated" ;
}
AGENT_DIST=/opt/buildagent
CONFIG_DIR=/data/teamcity_agent/conf
LOG_DIR=/opt/buildagent/logs
rm -f ${LOG_DIR}/*.pid
if [ -f ${CONFIG_DIR}/buildAgent.properties ] ; then
echo "File buildAgent.properties was found in ${CONFIG_DIR}" ;
reconfigure
else
echo "Will create new buildAgent.properties using distributive" ;
if [[ -n "${SERVER_URL}" ]]; then
echo "TeamCity URL is provided: ${SERVER_URL}"
else
echo "TeamCity URL is not provided, but is required."
exit 1
fi
prepare_conf
fi
if [ -z "$RUN_AS_BUILDAGENT" -o "$RUN_AS_BUILDAGENT" = "false" -o "$RUN_AS_BUILDAGENT" = "no" ]; then
${AGENT_DIST}/bin/agent.sh start
else
echo "Make sure build agent directory ${AGENT_DIST} is owned by buildagent user"
chown -R buildagent:buildagent ${AGENT_DIST}
check; sync
echo "Start build agent under buildagent user"
sudo -E -u buildagent HOME=/home/buildagent ${AGENT_DIST}/bin/agent.sh start
fi
while [ ! -f ${LOG_DIR}/teamcity-agent.log ];
do
echo -n "."
sleep 1
done
trap '${AGENT_DIST}/bin/agent.sh stop force; while ps -p $(cat $(ls -1 ${LOG_DIR}/*.pid)) &>/dev/null; do sleep 1; done; kill %%' SIGINT SIGTERM SIGHUP
tail -qF ${LOG_DIR}/teamcity-agent.log &
wait

View File

@ -1,7 +0,0 @@
#!/bin/bash
if [ "$DOCKER_IN_DOCKER" = "start" ] ; then
rm /var/run/docker.pid 2>/dev/null
service docker start
echo "Docker daemon started"
fi

View File

@ -1,15 +0,0 @@
#!/bin/bash
echo '/run-services.sh'
for entry in /services/*.sh
do
if [[ -f "$entry" ]]; then
echo "$entry"
[[ ! -x "$entry" ]] && (chmod +x "$entry"; sync)
"$entry"
fi
done
echo '/run-agent.sh'
exec '/run-agent.sh'

View File

@ -1,7 +0,0 @@
#main
deb http://httpredir.debian.org/debian/ sid main contrib non-free
deb-src http://httpredir.debian.org/debian/ sid main contrib non-free
##multimedia
#deb http://httpredir.debian.org/debian-multimedia/ sid main non-free
#deb-src http://httpredir.debian.org/debian-multimedia/ sid main non-free

View File

@ -1,159 +0,0 @@
FROM epicmorg/debian:bookworm-develop-jdk17
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# sid sources list
##################################################################
#RUN rm -rfv /etc/apt/sources.list
#COPY sources.sid.list /etc/apt/sources.list
RUN apt-get update && \
apt autoremove -y && \
apt-get dist-upgrade -y && \
apt autoremove -y
##################################################################
# teamcity minimal agent
##################################################################
LABEL dockerImage.teamcity.version="latest" \
dockerImage.teamcity.buildNumber="latest"
VOLUME /data/teamcity_agent/conf
ENV CONFIG_FILE=/data/teamcity_agent/conf/buildAgent.properties
ENV LANG=C.UTF-8
ENV GIT_SSH_VARIANT=ssh
COPY run-agent.sh /run-agent.sh
RUN chmod +x /run-agent.sh && \
sync
COPY run-services.sh /run-services.sh
RUN chmod +x /run-services.sh && \
sync
ADD https://teamcity.jetbrains.com/update/buildAgent.zip /buildAgent.zip
RUN unzip -q /buildAgent.zip -d /opt/buildagent && \
mv /opt/buildagent/conf /opt/buildagent/conf_dist && \
rm -rfv /buildAgent.zip
RUN useradd -m buildagent && \
chmod +x /opt/buildagent/bin/*.sh && \
chmod +x /run-agent.sh /run-services.sh && sync
##################################################################
# teamcity docker setup
##################################################################
#Install packages
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \
echo 'deb https://download.docker.com/linux/debian bullseye test' > /etc/apt/sources.list.d/docker.list && \
echo 'deb https://download.docker.com/linux/debian bullseye nightly' >> /etc/apt/sources.list.d/docker.list && \
apt-cache policy docker-ce && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
docker-ce \
docker-ce-cli \
containerd.io systemd && \
systemctl disable docker && \
usermod -aG docker buildagent
# A better fix for TW-52939 Dockerfile build fails because of aufs
VOLUME /var/lib/docker
COPY run-docker.sh /services/run-docker.sh
RUN chmod +x /services/run-docker.sh && \
sync
##################################################################
# teamcity docker compose setup
##################################################################
#Install packages
RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \
echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
##################################################################
# Additional settings
##################################################################
ENV MAVEN_VERSION=3.9.8
ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip
ENV MAVEN_ROOT=${EMG_LOCAL_BASE_DIR}/maven/${MAVEN_VERSION}
ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION}
ENV MAVEN_BIN=${MAVEN_PATH}/bin
ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip
ENV GRADLE_VERSION=8.8
ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
ENV GRADLE_ROOT=${EMG_LOCAL_BASE_DIR}/gradle/${GRADLE_VERSION}
ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION}
ENV GRADLE_BIN=${GRADLE_PATH}/bin
ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip
ENV KTC_VERSION=2.0.0
ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip
ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip
ENV KTC_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KTC_VERSION}
ENV KTC_PATH=${KTC_ROOT}/kotlinc
ENV KTC_BIN=${KTC_PATH}/bin
ENV KNPL_VERSION=${KTC_VERSION}
ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
ENV KNPL_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KNPL_VERSION}
ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}
ENV KNPL_BIN=${KNPL_PATH}/bin
RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH}
ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN}
##################################################################
# Maven
##################################################################
ENV MAVEN_HOME=${MAVEN_ROOT}
ENV M2_HOME=${MAVEN_ROOT}
ADD ${MAVEN_LINK} /tmp
RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT}
RUN chmod +x -R ${MAVEN_BIN}
RUN mvn -v
##################################################################
# GRADLE
##################################################################
ADD ${GRADLE_LINK} /tmp
RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT}
RUN chmod +x -R ${GRADLE_BIN}
RUN gradle -v
##################################################################
# kotlin-compiler
##################################################################
ADD ${KTC_LINK} /tmp
RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT}
RUN chmod +x -R ${KTC_BIN}
RUN kotlin -version
##################################################################
# kotlin-native-prebuilt-linux
##################################################################
ADD ${KNPL_LINK} /tmp
RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT}
RUN chmod +x -R ${KNPL_BIN}
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*
CMD ["/run-services.sh"]
EXPOSE 9090

View File

@ -1,36 +0,0 @@
PIP_BREAK_SYSTEM_PACKAGES=1
all: app
app:
make build
make deploy
make clean
build:
kaniko-wrapper --version
dry:
make dry-run
test:
make dry-run
dry-run:
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run
build-compose:
docker-compose build --compress --parallel --progress plain
deploy:
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug
deploy-compose:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -1,93 +0,0 @@
## TeamCity Minimal Build Agent
[<img src="http://jb.gg/badges/official.svg" height="20"/>](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image.
<img src="https://raw.githubusercontent.com/JetBrains/teamcity-docker-images/master/logo/GitHub.png" height="20" align="center"/> More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md).
The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes.
You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server.
This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/).
## How to Use This Image
Pull the TeamCity minimal image from the Docker Hub Repository:
```
jetbrains/teamcity-minimal-agent
```
&nbsp;
and use the following command to start a container with TeamCity agent running inside
a Linux container:
```
docker run -it -e SERVER_URL="<url to TeamCity server>" \
-v <path to agent config folder>:/data/teamcity_agent/conf \
jetbrains/teamcity-minimal-agent
```
&nbsp;
or a Windows container:
```
docker run -it -e SERVER_URL="<url to TeamCity server>"
-v <path to agent config folder>:C:/BuildAgent/conf
jetbrains/teamcity-minimal-agent
```
where `<url to TeamCity server>` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container.
`<path to agent config folder>` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create.
Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases.
When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html).
All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved.
TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server.
### Agent Image Environment Variables
- **SERVER_URL** - URL of the TeamCity server agent will connect to
- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted
- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI.
- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected
- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default
### Windows Containers Limitations
The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers).
## Customization
You can customize the image via the usual Docker procedure:
1. Run the image
```
docker run -it -e SERVER_URL="<url to TeamCity server>" \
-v <path to agent config folder>:/data/teamcity_agent/conf \
--name="my-customized-agent" \
jetbrains/teamcity-minimal-agent \
```
2. Enter the container
```
docker exec -it my-customized-agent bash
```
3. Change whatever you need
4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container
```
docker commit my-customized-agent <the registry where you what to store the image>
```
## License
The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html).
TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html).
## Feedback
Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW).
## Other TeamCity Images
* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/)
* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/)

View File

@ -1,6 +0,0 @@
#version: '3'
services:
app:
image: "epicmorg/teamcity-agent:latest-jdk21"
build:
context: .

View File

@ -1,90 +0,0 @@
#!/bin/bash
check() {
if [[ $? != 0 ]]; then
echo "Error! Stopping the script."
exit 1
fi
}
configure() {
if [[ $# -gt 0 ]]; then
echo "run agent.sh configure $@"
${AGENT_DIST}/bin/agent.sh configure "$@"; check
fi
}
reconfigure() {
declare -a opts
[[ -n "${SERVER_URL}" ]] && opts[${#opts[@]}]='--server-url' && opts[${#opts[@]}]="$SERVER_URL"
[[ -n "${AGENT_TOKEN}" ]] && opts[${#opts[@]}]='--auth-token' && opts[${#opts[@]}]="$AGENT_TOKEN"
[[ -n "${AGENT_NAME}" ]] && opts[${#opts[@]}]='--name' && opts[${#opts[@]}]="$AGENT_NAME"
[[ -n "${OWN_ADDRESS}" ]] && opts[${#opts[@]}]='--ownAddress' && opts[${#opts[@]}]="$OWN_ADDRESS"
[[ -n "${OWN_PORT}" ]] && opts[${#opts[@]}]='--ownPort' && opts[${#opts[@]}]="$OWN_PORT"
if [[ 0 -ne "${#opts[@]}" ]]; then
# Using sed to strip double quotes produced by docker-compose
for i in $(seq 0 $(expr ${#opts[@]} - 1)); do
opts[$i]="$(echo "${opts[$i]}" | sed -e 's/""/"/g')"
done
configure "${opts[@]}"
echo "File buildAgent.properties was updated"
fi
for AGENT_OPT in ${AGENT_OPTS}; do
echo ${AGENT_OPT} >> ${CONFIG_DIR}/buildAgent.properties
done
}
prepare_conf() {
echo "Will prepare agent config" ;
cp -p ${AGENT_DIST}/conf_dist/*.* ${CONFIG_DIR}/; check
cp -p ${CONFIG_DIR}/buildAgent.dist.properties ${CONFIG_DIR}/buildAgent.properties; check
reconfigure
echo "File buildAgent.properties was created and updated" ;
}
AGENT_DIST=/opt/buildagent
CONFIG_DIR=/data/teamcity_agent/conf
LOG_DIR=/opt/buildagent/logs
rm -f ${LOG_DIR}/*.pid
if [ -f ${CONFIG_DIR}/buildAgent.properties ] ; then
echo "File buildAgent.properties was found in ${CONFIG_DIR}" ;
reconfigure
else
echo "Will create new buildAgent.properties using distributive" ;
if [[ -n "${SERVER_URL}" ]]; then
echo "TeamCity URL is provided: ${SERVER_URL}"
else
echo "TeamCity URL is not provided, but is required."
exit 1
fi
prepare_conf
fi
if [ -z "$RUN_AS_BUILDAGENT" -o "$RUN_AS_BUILDAGENT" = "false" -o "$RUN_AS_BUILDAGENT" = "no" ]; then
${AGENT_DIST}/bin/agent.sh start
else
echo "Make sure build agent directory ${AGENT_DIST} is owned by buildagent user"
chown -R buildagent:buildagent ${AGENT_DIST}
check; sync
echo "Start build agent under buildagent user"
sudo -E -u buildagent HOME=/home/buildagent ${AGENT_DIST}/bin/agent.sh start
fi
while [ ! -f ${LOG_DIR}/teamcity-agent.log ];
do
echo -n "."
sleep 1
done
trap '${AGENT_DIST}/bin/agent.sh stop force; while ps -p $(cat $(ls -1 ${LOG_DIR}/*.pid)) &>/dev/null; do sleep 1; done; kill %%' SIGINT SIGTERM SIGHUP
tail -qF ${LOG_DIR}/teamcity-agent.log &
wait

View File

@ -1,7 +0,0 @@
#!/bin/bash
if [ "$DOCKER_IN_DOCKER" = "start" ] ; then
rm /var/run/docker.pid 2>/dev/null
service docker start
echo "Docker daemon started"
fi

View File

@ -1,15 +0,0 @@
#!/bin/bash
echo '/run-services.sh'
for entry in /services/*.sh
do
if [[ -f "$entry" ]]; then
echo "$entry"
[[ ! -x "$entry" ]] && (chmod +x "$entry"; sync)
"$entry"
fi
done
echo '/run-agent.sh'
exec '/run-agent.sh'

View File

@ -1,7 +0,0 @@
#main
deb http://httpredir.debian.org/debian/ sid main contrib non-free
deb-src http://httpredir.debian.org/debian/ sid main contrib non-free
##multimedia
#deb http://httpredir.debian.org/debian-multimedia/ sid main non-free
#deb-src http://httpredir.debian.org/debian-multimedia/ sid main non-free

View File

@ -1,159 +0,0 @@
FROM epicmorg/debian:bookworm-develop-jdk8
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# sid sources list
##################################################################
#RUN rm -rfv /etc/apt/sources.list
#COPY sources.sid.list /etc/apt/sources.list
RUN apt-get update && \
apt autoremove -y && \
apt-get dist-upgrade -y && \
apt autoremove -y
##################################################################
# teamcity minimal agent
##################################################################
LABEL dockerImage.teamcity.version="latest" \
dockerImage.teamcity.buildNumber="latest"
VOLUME /data/teamcity_agent/conf
ENV CONFIG_FILE=/data/teamcity_agent/conf/buildAgent.properties
ENV LANG=C.UTF-8
ENV GIT_SSH_VARIANT=ssh
COPY run-agent.sh /run-agent.sh
RUN chmod +x /run-agent.sh && \
sync
COPY run-services.sh /run-services.sh
RUN chmod +x /run-services.sh && \
sync
ADD https://teamcity.jetbrains.com/update/buildAgent.zip /buildAgent.zip
RUN unzip -q /buildAgent.zip -d /opt/buildagent && \
mv /opt/buildagent/conf /opt/buildagent/conf_dist && \
rm -rfv /buildAgent.zip
RUN useradd -m buildagent && \
chmod +x /opt/buildagent/bin/*.sh && \
chmod +x /run-agent.sh /run-services.sh && sync
##################################################################
# teamcity docker setup
##################################################################
#Install packages
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \
echo 'deb https://download.docker.com/linux/debian bullseye test' > /etc/apt/sources.list.d/docker.list && \
echo 'deb https://download.docker.com/linux/debian bullseye nightly' >> /etc/apt/sources.list.d/docker.list && \
apt-cache policy docker-ce && \
apt-get update && \
apt-get install -y --no-install-recommends --allow-unauthenticated \
docker-ce \
docker-ce-cli \
containerd.io systemd && \
systemctl disable docker && \
usermod -aG docker buildagent
# A better fix for TW-52939 Dockerfile build fails because of aufs
VOLUME /var/lib/docker
COPY run-docker.sh /services/run-docker.sh
RUN chmod +x /services/run-docker.sh && \
sync
##################################################################
# teamcity docker compose setup
##################################################################
#Install packages
RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \
echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
##################################################################
# Additional settings
##################################################################
ENV MAVEN_VERSION=3.9.8
ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip
ENV MAVEN_ROOT=${EMG_LOCAL_BASE_DIR}/maven/${MAVEN_VERSION}
ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION}
ENV MAVEN_BIN=${MAVEN_PATH}/bin
ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip
ENV GRADLE_VERSION=8.8
ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
ENV GRADLE_ROOT=${EMG_LOCAL_BASE_DIR}/gradle/${GRADLE_VERSION}
ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION}
ENV GRADLE_BIN=${GRADLE_PATH}/bin
ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip
ENV KTC_VERSION=2.0.0
ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip
ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip
ENV KTC_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KTC_VERSION}
ENV KTC_PATH=${KTC_ROOT}/kotlinc
ENV KTC_BIN=${KTC_PATH}/bin
ENV KNPL_VERSION=${KTC_VERSION}
ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
ENV KNPL_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KNPL_VERSION}
ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}
ENV KNPL_BIN=${KNPL_PATH}/bin
RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH}
ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN}
##################################################################
# Maven
##################################################################
ENV MAVEN_HOME=${MAVEN_ROOT}
ENV M2_HOME=${MAVEN_ROOT}
ADD ${MAVEN_LINK} /tmp
RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT}
RUN chmod +x -R ${MAVEN_BIN}
RUN mvn -v
##################################################################
# GRADLE
##################################################################
ADD ${GRADLE_LINK} /tmp
RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT}
RUN chmod +x -R ${GRADLE_BIN}
RUN gradle -v
##################################################################
# kotlin-compiler
##################################################################
ADD ${KTC_LINK} /tmp
RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT}
RUN chmod +x -R ${KTC_BIN}
RUN kotlin -version
##################################################################
# kotlin-native-prebuilt-linux
##################################################################
ADD ${KNPL_LINK} /tmp
RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT}
RUN chmod +x -R ${KNPL_BIN}
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*
CMD ["/run-services.sh"]
EXPOSE 9090

View File

@ -1,36 +0,0 @@
PIP_BREAK_SYSTEM_PACKAGES=1
all: app
app:
make build
make deploy
make clean
build:
kaniko-wrapper --version
dry:
make dry-run
test:
make dry-run
dry-run:
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run
build-compose:
docker-compose build --compress --parallel --progress plain
deploy:
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug
deploy-compose:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -1,93 +0,0 @@
## TeamCity Minimal Build Agent
[<img src="http://jb.gg/badges/official.svg" height="20"/>](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image.
<img src="https://raw.githubusercontent.com/JetBrains/teamcity-docker-images/master/logo/GitHub.png" height="20" align="center"/> More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md).
The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes.
You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server.
This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/).
## How to Use This Image
Pull the TeamCity minimal image from the Docker Hub Repository:
```
jetbrains/teamcity-minimal-agent
```
&nbsp;
and use the following command to start a container with TeamCity agent running inside
a Linux container:
```
docker run -it -e SERVER_URL="<url to TeamCity server>" \
-v <path to agent config folder>:/data/teamcity_agent/conf \
jetbrains/teamcity-minimal-agent
```
&nbsp;
or a Windows container:
```
docker run -it -e SERVER_URL="<url to TeamCity server>"
-v <path to agent config folder>:C:/BuildAgent/conf
jetbrains/teamcity-minimal-agent
```
where `<url to TeamCity server>` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container.
`<path to agent config folder>` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create.
Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases.
When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html).
All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved.
TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server.
### Agent Image Environment Variables
- **SERVER_URL** - URL of the TeamCity server agent will connect to
- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted
- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI.
- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected
- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default
### Windows Containers Limitations
The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers).
## Customization
You can customize the image via the usual Docker procedure:
1. Run the image
```
docker run -it -e SERVER_URL="<url to TeamCity server>" \
-v <path to agent config folder>:/data/teamcity_agent/conf \
--name="my-customized-agent" \
jetbrains/teamcity-minimal-agent \
```
2. Enter the container
```
docker exec -it my-customized-agent bash
```
3. Change whatever you need
4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container
```
docker commit my-customized-agent <the registry where you what to store the image>
```
## License
The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html).
TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html).
## Feedback
Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW).
## Other TeamCity Images
* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/)
* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/)

View File

@ -1,6 +0,0 @@
#version: '3'
services:
app:
image: "epicmorg/teamcity-agent:latest-jdk8"
build:
context: .

View File

@ -1,90 +0,0 @@
#!/bin/bash
check() {
if [[ $? != 0 ]]; then
echo "Error! Stopping the script."
exit 1
fi
}
configure() {
if [[ $# -gt 0 ]]; then
echo "run agent.sh configure $@"
${AGENT_DIST}/bin/agent.sh configure "$@"; check
fi
}
reconfigure() {
declare -a opts
[[ -n "${SERVER_URL}" ]] && opts[${#opts[@]}]='--server-url' && opts[${#opts[@]}]="$SERVER_URL"
[[ -n "${AGENT_TOKEN}" ]] && opts[${#opts[@]}]='--auth-token' && opts[${#opts[@]}]="$AGENT_TOKEN"
[[ -n "${AGENT_NAME}" ]] && opts[${#opts[@]}]='--name' && opts[${#opts[@]}]="$AGENT_NAME"
[[ -n "${OWN_ADDRESS}" ]] && opts[${#opts[@]}]='--ownAddress' && opts[${#opts[@]}]="$OWN_ADDRESS"
[[ -n "${OWN_PORT}" ]] && opts[${#opts[@]}]='--ownPort' && opts[${#opts[@]}]="$OWN_PORT"
if [[ 0 -ne "${#opts[@]}" ]]; then
# Using sed to strip double quotes produced by docker-compose
for i in $(seq 0 $(expr ${#opts[@]} - 1)); do
opts[$i]="$(echo "${opts[$i]}" | sed -e 's/""/"/g')"
done
configure "${opts[@]}"
echo "File buildAgent.properties was updated"
fi
for AGENT_OPT in ${AGENT_OPTS}; do
echo ${AGENT_OPT} >> ${CONFIG_DIR}/buildAgent.properties
done
}
prepare_conf() {
echo "Will prepare agent config" ;
cp -p ${AGENT_DIST}/conf_dist/*.* ${CONFIG_DIR}/; check
cp -p ${CONFIG_DIR}/buildAgent.dist.properties ${CONFIG_DIR}/buildAgent.properties; check
reconfigure
echo "File buildAgent.properties was created and updated" ;
}
AGENT_DIST=/opt/buildagent
CONFIG_DIR=/data/teamcity_agent/conf
LOG_DIR=/opt/buildagent/logs
rm -f ${LOG_DIR}/*.pid
if [ -f ${CONFIG_DIR}/buildAgent.properties ] ; then
echo "File buildAgent.properties was found in ${CONFIG_DIR}" ;
reconfigure
else
echo "Will create new buildAgent.properties using distributive" ;
if [[ -n "${SERVER_URL}" ]]; then
echo "TeamCity URL is provided: ${SERVER_URL}"
else
echo "TeamCity URL is not provided, but is required."
exit 1
fi
prepare_conf
fi
if [ -z "$RUN_AS_BUILDAGENT" -o "$RUN_AS_BUILDAGENT" = "false" -o "$RUN_AS_BUILDAGENT" = "no" ]; then
${AGENT_DIST}/bin/agent.sh start
else
echo "Make sure build agent directory ${AGENT_DIST} is owned by buildagent user"
chown -R buildagent:buildagent ${AGENT_DIST}
check; sync
echo "Start build agent under buildagent user"
sudo -E -u buildagent HOME=/home/buildagent ${AGENT_DIST}/bin/agent.sh start
fi
while [ ! -f ${LOG_DIR}/teamcity-agent.log ];
do
echo -n "."
sleep 1
done
trap '${AGENT_DIST}/bin/agent.sh stop force; while ps -p $(cat $(ls -1 ${LOG_DIR}/*.pid)) &>/dev/null; do sleep 1; done; kill %%' SIGINT SIGTERM SIGHUP
tail -qF ${LOG_DIR}/teamcity-agent.log &
wait

View File

@ -1,7 +0,0 @@
#!/bin/bash
if [ "$DOCKER_IN_DOCKER" = "start" ] ; then
rm /var/run/docker.pid 2>/dev/null
service docker start
echo "Docker daemon started"
fi

View File

@ -1,15 +0,0 @@
#!/bin/bash
echo '/run-services.sh'
for entry in /services/*.sh
do
if [[ -f "$entry" ]]; then
echo "$entry"
[[ ! -x "$entry" ]] && (chmod +x "$entry"; sync)
"$entry"
fi
done
echo '/run-agent.sh'
exec '/run-agent.sh'

View File

@ -1,7 +0,0 @@
#main
deb http://httpredir.debian.org/debian/ sid main contrib non-free
deb-src http://httpredir.debian.org/debian/ sid main contrib non-free
##multimedia
#deb http://httpredir.debian.org/debian-multimedia/ sid main non-free
#deb-src http://httpredir.debian.org/debian-multimedia/ sid main non-free

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
#RUN npm install -g pnpm yarn #RUN npm install -g pnpm yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm@5 yarn RUN npm install -g pnpm@5 yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm@5 yarn RUN npm install -g pnpm@5 yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm@6 yarn RUN npm install -g pnpm@6 yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm@6 yarn RUN npm install -g pnpm@6 yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm@7 yarn RUN npm install -g pnpm@7 yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
#RUN npm install -g pnpm yarn #RUN npm install -g pnpm yarn
RUN npm install -g yarn RUN npm install -g yarn
@ -45,3 +43,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
#RUN npm install -g pnpm yarn #RUN npm install -g pnpm yarn
RUN npm install -g yarn RUN npm install -g yarn
@ -45,3 +43,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
#RUN npm install -g pnpm yarn #RUN npm install -g pnpm yarn
RUN npm install -g yarn RUN npm install -g yarn
@ -45,3 +43,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
ARG K_NODE_MAJOR_VERSION=18 ARG K_NODE_MAJOR_VERSION=18
ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.20.3 ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.20.4
ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz
ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz
@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm yarn RUN npm install -g pnpm yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm yarn RUN npm install -g pnpm yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
ARG K_NODE_MAJOR_VERSION=20 ARG K_NODE_MAJOR_VERSION=20
ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.15.0 ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.16.0
ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz
ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz
@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm yarn RUN npm install -g pnpm yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm yarn RUN npm install -g pnpm yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
ARG K_NODE_MAJOR_VERSION=22 ARG K_NODE_MAJOR_VERSION=22
ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.3.0 ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.6.0
ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz
ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz
@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm yarn RUN npm install -g pnpm yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
#RUN npm install -g pnpm yarn #RUN npm install -g pnpm yarn
RUN npm install -g pnpm@2 RUN npm install -g pnpm@2
@ -45,3 +43,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
#RUN npm install -g pnpm yarn #RUN npm install -g pnpm yarn
RUN npm install -g pnpm@2 RUN npm install -g pnpm@2
@ -45,3 +43,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
#RUN npm install -g pnpm yarn #RUN npm install -g pnpm yarn
RUN npm install -g pnpm@2 RUN npm install -g pnpm@2
@ -45,3 +43,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm@3 yarn RUN npm install -g pnpm@3 yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm@3 yarn RUN npm install -g pnpm@3 yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -14,14 +14,12 @@ ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE
RUN groupadd -g 1337 node && \ RUN groupadd -g 1337 node && \
useradd -u 1337 --gid node --shell /bin/bash --create-home node useradd -u 1337 --gid node --shell /bin/bash --create-home node
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ ADD ${K_NODE_URL} /tmp
--header 'Cache-Control: no-cache, no-store' \ ADD ${K_NODE_HEADERS_URL} /tmp
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ RUN tar -xvzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Cache-Control: no-cache, no-store' \ tar -xvzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
--header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
RUN npm install -g pnpm@3 yarn RUN npm install -g pnpm@3 yarn
@ -44,3 +42,5 @@ apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \ rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \ rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/* rm -rfv /tmp/*
RUN updatedb

View File

@ -1,26 +0,0 @@
FROM epicmorg/teamcity-agent:latest
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# steam runtime and ssdk
##################################################################
RUN cd / && \
sudo mkdir valve && \
cd valve && \
sudo wget http://media.steampowered.com/client/runtime/steam-runtime-sdk_latest.tar.xz && \
sudo tar xvf steam-runtime-sdk_latest.tar.xz && \
sudo mv steam-runtime-sdk_2013-09-05 steam-runtime && \
sudo chown root:root * -R && \
cd steam-runtime && \
printf '%s\n' 3 1 Y Y Y | ./setup.sh
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*

View File

@ -1,36 +0,0 @@
PIP_BREAK_SYSTEM_PACKAGES=1
all: app
app:
make build
make deploy
make clean
build:
kaniko-wrapper --version
dry:
make dry-run
test:
make dry-run
dry-run:
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run
build-compose:
docker-compose build --compress --parallel --progress plain
deploy:
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug
deploy-compose:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -1,93 +0,0 @@
## TeamCity Minimal Build Agent
[<img src="http://jb.gg/badges/official.svg" height="20"/>](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image.
<img src="https://raw.githubusercontent.com/JetBrains/teamcity-docker-images/master/logo/GitHub.png" height="20" align="center"/> More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md).
The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes.
You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server.
This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/).
## How to Use This Image
Pull the TeamCity minimal image from the Docker Hub Repository:
```
jetbrains/teamcity-minimal-agent
```
&nbsp;
and use the following command to start a container with TeamCity agent running inside
a Linux container:
```
docker run -it -e SERVER_URL="<url to TeamCity server>" \
-v <path to agent config folder>:/data/teamcity_agent/conf \
jetbrains/teamcity-minimal-agent
```
&nbsp;
or a Windows container:
```
docker run -it -e SERVER_URL="<url to TeamCity server>"
-v <path to agent config folder>:C:/BuildAgent/conf
jetbrains/teamcity-minimal-agent
```
where `<url to TeamCity server>` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container.
`<path to agent config folder>` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create.
Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases.
When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html).
All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved.
TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server.
### Agent Image Environment Variables
- **SERVER_URL** - URL of the TeamCity server agent will connect to
- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted
- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI.
- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected
- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default
### Windows Containers Limitations
The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers).
## Customization
You can customize the image via the usual Docker procedure:
1. Run the image
```
docker run -it -e SERVER_URL="<url to TeamCity server>" \
-v <path to agent config folder>:/data/teamcity_agent/conf \
--name="my-customized-agent" \
jetbrains/teamcity-minimal-agent \
```
2. Enter the container
```
docker exec -it my-customized-agent bash
```
3. Change whatever you need
4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container
```
docker commit my-customized-agent <the registry where you what to store the image>
```
## License
The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html).
TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html).
## Feedback
Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW).
## Other TeamCity Images
* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/)
* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/)

View File

@ -1,6 +0,0 @@
#version: '3'
services:
app:
image: "epicmorg/teamcity-agent:steam-sdk"
build:
context: .