mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2025-01-24 12:38:15 +03:00
teamcity agents
This commit is contained in:
parent
3da6e127a6
commit
d2fd3bfcb6
@ -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
|
||||||
|
@ -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`
|
||||||
|
20
Makefile
20
Makefile
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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-----
|
@ -0,0 +1 @@
|
|||||||
|
deb [trusted=yes signed-by=/etc/apt/keyrings/atlassian.asc] https://packages.atlassian.com/atlassian-sdk-deb stable contrib
|
@ -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
|
||||||
|
85
linux/ecosystem/teamcity/agent/latest/Dockerfile
Normal file
85
linux/ecosystem/teamcity/agent/latest/Dockerfile
Normal 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
|
85
linux/ecosystem/teamcity/agent/latest/Dockerfile.jdk11
Normal file
85
linux/ecosystem/teamcity/agent/latest/Dockerfile.jdk11
Normal 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
|
85
linux/ecosystem/teamcity/agent/latest/Dockerfile.jdk17
Normal file
85
linux/ecosystem/teamcity/agent/latest/Dockerfile.jdk17
Normal 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
|
85
linux/ecosystem/teamcity/agent/latest/Dockerfile.jdk21
Normal file
85
linux/ecosystem/teamcity/agent/latest/Dockerfile.jdk21
Normal 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
|
26
linux/ecosystem/teamcity/agent/latest/docker-compose.yml
Normal file
26
linux/ecosystem/teamcity/agent/latest/docker-compose.yml
Normal 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
|
@ -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
|
|
@ -1,6 +0,0 @@
|
|||||||
#version: '3'
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
image: "epicmorg/teamcity-agent:latest-jdk11"
|
|
||||||
build:
|
|
||||||
context: .
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
||||||
```
|
|
||||||
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
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/)
|
|
@ -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: .
|
|
@ -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
|
|
@ -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
|
|
@ -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'
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
||||||
```
|
|
||||||
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
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/)
|
|
@ -1,6 +0,0 @@
|
|||||||
#version: '3'
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
image: "epicmorg/teamcity-agent:latest-jdk21"
|
|
||||||
build:
|
|
||||||
context: .
|
|
@ -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
|
|
@ -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
|
|
@ -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'
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
||||||
```
|
|
||||||
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
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/)
|
|
@ -1,6 +0,0 @@
|
|||||||
#version: '3'
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
image: "epicmorg/teamcity-agent:latest-jdk8"
|
|
||||||
build:
|
|
||||||
context: .
|
|
@ -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
|
|
@ -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
|
|
@ -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'
|
|
@ -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
|
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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/*
|
|
@ -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
|
|
@ -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
|
|
||||||
```
|
|
||||||
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
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/)
|
|
@ -1,6 +0,0 @@
|
|||||||
#version: '3'
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
image: "epicmorg/teamcity-agent:steam-sdk"
|
|
||||||
build:
|
|
||||||
context: .
|
|
Loading…
x
Reference in New Issue
Block a user