Advertisement
Guest User

Untitled

a guest
Jan 3rd, 2019
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.51 KB | None | 0 0
  1. FROM microsoft/vsts-agent:ubuntu-16.04
  2.  
  3. # Install basic command-line utilities
  4. RUN apt-get update \
  5. && apt-get install -y --no-install-recommends \
  6. curl \
  7. dnsutils \
  8. file \
  9. ftp \
  10. iproute2 \
  11. iputils-ping \
  12. locales \
  13. openssh-client \
  14. rsync\
  15. shellcheck \
  16. sudo \
  17. telnet \
  18. time \
  19. unzip \
  20. wget \
  21. zip \
  22. tzdata \
  23. && rm -rf /var/lib/apt/lists/*
  24.  
  25. # Setup the locale
  26. ENV LANG en_US.UTF-8
  27. ENV LC_ALL $LANG
  28. RUN locale-gen $LANG \
  29. && update-locale
  30.  
  31. # Accept EULA - needed for certain Microsoft packages like SQL Server Client Tools
  32. ENV ACCEPT_EULA=Y
  33.  
  34. # Install essential build tools
  35. RUN apt-get update \
  36. && apt-get install -y --no-install-recommends \
  37. build-essential \
  38. && rm -rf /var/lib/apt/lists/*
  39.  
  40. # # Install Ansible
  41. # RUN apt-get update \
  42. # && apt-get install -y --no-install-recommends \
  43. # ansible \
  44. # && rm -rf /var/lib/apt/lists/*
  45.  
  46. # Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
  47. RUN echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $(lsb_release -cs) main" \
  48. | tee /etc/apt/sources.list.d/azure-cli.list \
  49. && curl -L https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
  50. && apt-get update \
  51. && apt-get install -y --no-install-recommends \
  52. apt-transport-https \
  53. azure-cli \
  54. && rm -rf /var/lib/apt/lists/* \
  55. && rm -rf /etc/apt/sources.list.d/* \
  56. && az --version
  57.  
  58. # # Install Clang (only appears to work on xenial)
  59. # RUN [ "xenial" = "xenial" ] \
  60. # && wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \
  61. # && apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" \
  62. # && apt-get update \
  63. # && apt-get install -y --no-install-recommends clang-6.0 \
  64. # && rm -rf /var/lib/apt/lists/* \
  65. # && rm -rf /etc/apt/sources.list.d/* \
  66. # || echo -n
  67.  
  68. # # Install CMake
  69. # RUN curl -sL https://cmake.org/files/v3.10/cmake-3.10.2-Linux-x86_64.sh -o cmake.sh \
  70. # && chmod +x cmake.sh \
  71. # && ./cmake.sh --prefix=/usr/local --exclude-subdir \
  72. # && rm cmake.sh
  73.  
  74. # # Install Erlang
  75. # RUN echo "deb http://binaries.erlang-solutions.com/debian xenial contrib" > /etc/apt/sources.list.d/eslerlang.list \
  76. # && wget -O - http://binaries.erlang-solutions.com/debian/erlang_solutions.asc | apt-key add - \
  77. # && apt-get update \
  78. # && apt-get install -y --no-install-recommends esl-erlang \
  79. # && rm -rf /var/lib/apt/lists/* \
  80. # && rm -rf /etc/apt/sources.list.d/*
  81.  
  82. # # Install Firefox
  83. # RUN apt-get update \
  84. # && apt-get install -y firefox \
  85. # && rm -rf /var/lib/apt/lists/*
  86.  
  87. # # Install Go
  88. # RUN curl -sL https://dl.google.com/go/go1.9.4.linux-amd64.tar.gz -o go1.9.4.linux-amd64.tar.gz \
  89. # && mkdir -p /usr/local/go1.9.4 \
  90. # && tar -C /usr/local/go1.9.4 -xzf go1.9.4.linux-amd64.tar.gz --strip-components=1 go \
  91. # && rm go1.9.4.linux-amd64.tar.gz
  92. # RUN curl -sL https://dl.google.com/go/go1.10.linux-amd64.tar.gz -o go1.10.linux-amd64.tar.gz \
  93. # && mkdir -p /usr/local/go1.10 \
  94. # && tar -C /usr/local/go1.10 -xzf go1.10.linux-amd64.tar.gz --strip-components=1 go \
  95. # && rm go1.10.linux-amd64.tar.gz
  96. # ENV GOROOT_1_9_X64=/usr/local/go1.9.4 \
  97. # GOROOT_1_10_X64=/usr/local/go1.10 \
  98. # GOROOT=/usr/local/go1.10
  99. # ENV PATH $PATH:$GOROOT/bin
  100.  
  101. # # Install Google Chrome
  102. # RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
  103. # && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | tee /etc/apt/sources.list.d/google-chrome.list \
  104. # && apt-get update \
  105. # && apt-get install -y google-chrome-stable \
  106. # && rm -rf /var/lib/apt/lists/* \
  107. # && rm -rf /etc/apt/sources.list.d/*
  108. # ENV CHROME_BIN /usr/bin/google-chrome
  109.  
  110. # # Install Haskell
  111. # RUN apt-get update \
  112. # && apt-get install -y haskell-platform \
  113. # && rm -rf /var/lib/apt/lists/*
  114.  
  115. # Install Helm
  116. RUN curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
  117.  
  118. # # Install Heroku CLI
  119. # RUN curl https://cli-assets.heroku.com/install.sh | sh
  120.  
  121. # # Install HHVM
  122. # RUN apt-get update \
  123. # && apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xB4112585D386EB94 \
  124. # && add-apt-repository https://dl.hhvm.com/ubuntu \
  125. # && apt-get update \
  126. # && apt-get install -y hhvm \
  127. # && rm -rf /var/lib/apt/lists/* \
  128. # && rm -rf /etc/apt/sources.list.d/*
  129.  
  130. # # Install ImageMagick
  131. # RUN apt-get update \
  132. # && apt-get install -y --no-install-recommends --fix-missing \
  133. # imagemagick \
  134. # libmagickcore-dev \
  135. # libmagickwand-dev \
  136. # libmagic-dev \
  137. # && rm -rf /var/lib/apt/lists/*
  138.  
  139. # Install Java OpenJDKs
  140. RUN apt-add-repository -y ppa:openjdk-r/ppa
  141. RUN apt-get update \
  142. && apt-get install -y --no-install-recommends openjdk-7-jdk \
  143. && rm -rf /var/lib/apt/lists/*
  144. RUN apt-get update \
  145. && apt-get install -y --no-install-recommends openjdk-8-jdk \
  146. && rm -rf /var/lib/apt/lists/*
  147. # RUN apt-get update \
  148. # && apt-get install -y --no-install-recommends openjdk-9-jdk \
  149. # && rm -rf /var/lib/apt/lists/*
  150. # RUN apt-get update \
  151. # && apt-get install -y --no-install-recommends openjdk-10-jdk \
  152. # && rm -rf /var/lib/apt/lists/*
  153. # RUN apt-get update \
  154. # && apt-get install -y --no-install-recommends openjdk-11-jdk \
  155. # && rm -rf /var/lib/apt/lists/*
  156. RUN update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
  157. ENV JAVA_HOME_7_X64=/usr/lib/jvm/java-7-openjdk-amd64 \
  158. JAVA_HOME_8_X64=/usr/lib/jvm/java-8-openjdk-amd64 \
  159. # JAVA_HOME_9_X64=/usr/lib/jvm/java-9-openjdk-amd64 \
  160. # JAVA_HOME_10_X64=/usr/lib/jvm/java-10-openjdk-amd64 \
  161. # JAVA_HOME_11_X64=/usr/lib/jvm/java-11-openjdk-amd64 \
  162. JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 \
  163. JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
  164.  
  165. # Install Java Tools (Ant, Gradle, Maven)
  166. RUN apt-get update \
  167. && apt-get install -y --no-install-recommends \
  168. ant \
  169. ant-optional \
  170. && rm -rf /var/lib/apt/lists/*
  171. RUN curl -sL https://services.gradle.org/distributions/gradle-4.6-bin.zip -o gradle-4.6.zip \
  172. && unzip -d /usr/share gradle-4.6.zip \
  173. && ln -s /usr/share/gradle-4.6/bin/gradle /usr/bin/gradle \
  174. && rm gradle-4.6.zip
  175. RUN apt-get update \
  176. && apt-get install -y --no-install-recommends \
  177. maven \
  178. && rm -rf /var/lib/apt/lists/*
  179. ENV ANT_HOME=/usr/share/ant \
  180. GRADLE_HOME=/usr/share/gradle \
  181. M2_HOME=/usr/share/maven
  182.  
  183. # Install kubectl
  184. RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl \
  185. && chmod +x ./kubectl \
  186. && mv ./kubectl /usr/local/bin/kubectl
  187.  
  188. # # Install Mercurial
  189. # RUN apt-get update \
  190. # && apt-get install -y mercurial \
  191. # && rm -rf /var/lib/apt/lists/*
  192.  
  193. # # Install Miniconda
  194. # RUN curl -sL https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -o miniconda.sh \
  195. # && chmod +x miniconda.sh \
  196. # && ./miniconda.sh -b -p /usr/share/miniconda \
  197. # && rm miniconda.sh
  198. # ENV CONDA=/usr/share/miniconda
  199.  
  200. # Install Mono
  201. RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \
  202. && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | tee /etc/apt/sources.list.d/mono-official-stable.list \
  203. && apt-get update \
  204. && apt-get install -y --no-install-recommends apt-transport-https mono-complete \
  205. && rm -rf /var/lib/apt/lists/* \
  206. && rm -rf /etc/apt/sources.list.d/*
  207.  
  208. # # Install MS SQL Server client tools (https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017)
  209. # RUN [ "xenial" = "xenial" ] \
  210. # && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
  211. # && curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | tee /etc/apt/sources.list.d/msprod.list \
  212. # && apt-get update \
  213. # && apt-get install -y mssql-tools unixodbc-dev \
  214. # && rm -rf /var/lib/apt/lists/* \
  215. # && rm -rf /etc/apt/sources.list.d/* \
  216. # || echo -n
  217. # ENV PATH=$PATH:/opt/mssql-tools/bin
  218.  
  219. # # Install MySQL Client
  220. # RUN apt-get update \
  221. # && apt-get install -y mysql-client \
  222. # && rm -rf /var/lib/apt/lists/*
  223. # ENV mysql=/usr/bin/mysql
  224.  
  225. # # Install MySQL Server
  226. # ENV MYSQL_ROOT_PASSWORD=
  227. # RUN bash -c 'debconf-set-selections <<< "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD"'
  228. # RUN bash -c 'debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD"'
  229. # RUN apt-get update \
  230. # && apt-get install -y mysql-server \
  231. # && rm -rf /var/lib/apt/lists/*
  232.  
  233. # Install .NET Core SDK and initialize package cache
  234. RUN curl https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb > packages-microsoft-prod.deb \
  235. && dpkg -i packages-microsoft-prod.deb \
  236. && rm packages-microsoft-prod.deb \
  237. && apt-get update \
  238. && apt-get install -y --no-install-recommends \
  239. apt-transport-https \
  240. dotnet-sdk-2.1 \
  241. dotnet-sdk-2.2 \
  242. && rm -rf /var/lib/apt/lists/* \
  243. && rm -rf /etc/apt/sources.list.d/*
  244. RUN dotnet help
  245. ENV dotnet=/usr/bin/dotnet
  246.  
  247. # Install AzCopy (depends on .NET Core)
  248. RUN apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF \
  249. && echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod/ xenial main" | tee /etc/apt/sources.list.d/azure.list \
  250. && apt-get update \
  251. && apt-get install -y --no-install-recommends azcopy \
  252. && rm -rf /var/lib/apt/lists/* \
  253. && rm -rf /etc/apt/sources.list.d/*
  254.  
  255. # Install LTS Node.js and related tools
  256. RUN curl -sL https://git.io/n-install | bash -s -- -ny - \
  257. && ~/n/bin/n lts \
  258. # && npm install -g bower \
  259. # && npm install -g grunt \
  260. # && npm install -g gulp \
  261. # && npm install -g n \
  262. # && npm install -g webpack webpack-cli --save-dev \
  263. # && npm install -g parcel-bundler \
  264. # && npm i -g npm \
  265. && rm -rf ~/n
  266. # ENV bower=/usr/local/bin/bower \
  267. # grunt=/usr/local/bin/grunt
  268.  
  269. # # Install PhantomJS
  270. # RUN apt-get update \
  271. # && apt-get install -y chrpath libssl-dev libxft-dev libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev \
  272. # && rm -rf /var/lib/apt/lists/* \
  273. # && export PHANTOM_JS=phantomjs-2.1.1-linux-x86_64 \
  274. # && wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2 \
  275. # && tar xvjf $PHANTOM_JS.tar.bz2 \
  276. # && mv $PHANTOM_JS /usr/local/share \
  277. # && ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin
  278.  
  279. # # Install PHP versions and libraries
  280. # RUN apt-add-repository ppa:ondrej/php -y \
  281. # && apt-get update \
  282. # && apt-get install -y --no-install-recommends \
  283. # php5.6 \
  284. # php5.6-amqp \
  285. # php5.6-bcmath \
  286. # php5.6-bz2 \
  287. # php5.6-cgi \
  288. # php5.6-cli \
  289. # php5.6-common \
  290. # php5.6-curl \
  291. # php5.6-dba \
  292. # php5.6-dev \
  293. # php5.6-enchant \
  294. # php5.6-fpm \
  295. # php5.6-gd \
  296. # php5.6-gmp \
  297. # php5.6-imap \
  298. # php5.6-interbase \
  299. # php5.6-intl \
  300. # php5.6-json \
  301. # php5.6-ldap \
  302. # php5.6-mbstring \
  303. # php5.6-mcrypt \
  304. # php5.6-mysql \
  305. # php5.6-odbc \
  306. # php5.6-opcache \
  307. # php5.6-pgsql \
  308. # php5.6-phpdbg \
  309. # php5.6-pspell \
  310. # php5.6-readline \
  311. # php5.6-recode \
  312. # php5.6-snmp \
  313. # php5.6-soap \
  314. # php5.6-sqlite3 \
  315. # php5.6-sybase \
  316. # php5.6-tidy \
  317. # php5.6-xml \
  318. # php5.6-xmlrpc \
  319. # php5.6-xsl \
  320. # php5.6-zip \
  321. # && apt-get remove --purge -yq php5.6-dev \
  322. # && apt-get install -y --no-install-recommends \
  323. # php7.0 \
  324. # php7.0-amqp \
  325. # php7.0-bcmath \
  326. # php7.0-bz2 \
  327. # php7.0-cgi \
  328. # php7.0-cli \
  329. # php7.0-common \
  330. # php7.0-curl \
  331. # php7.0-dba \
  332. # php7.0-dev \
  333. # php7.0-enchant \
  334. # php7.0-fpm \
  335. # php7.0-gd \
  336. # php7.0-gmp \
  337. # php7.0-imap \
  338. # php7.0-interbase \
  339. # php7.0-intl \
  340. # php7.0-json \
  341. # php7.0-ldap \
  342. # php7.0-mbstring \
  343. # php7.0-mcrypt \
  344. # php7.0-mysql \
  345. # php7.0-odbc \
  346. # php7.0-opcache \
  347. # php7.0-pgsql \
  348. # php7.0-phpdbg \
  349. # php7.0-pspell \
  350. # php7.0-readline \
  351. # php7.0-recode \
  352. # php7.0-snmp \
  353. # php7.0-soap \
  354. # php7.0-sqlite3 \
  355. # php7.0-sybase \
  356. # php7.0-tidy \
  357. # php7.0-xml \
  358. # php7.0-xmlrpc \
  359. # php7.0-xsl \
  360. # php7.0-zip \
  361. # && apt-get remove --purge -yq php7.0-dev \
  362. # && apt-get install -y --no-install-recommends \
  363. # php7.1 \
  364. # php7.1-amqp \
  365. # php7.1-bcmath \
  366. # php7.1-bz2 \
  367. # php7.1-cgi \
  368. # php7.1-cli \
  369. # php7.1-common \
  370. # php7.1-curl \
  371. # php7.1-dba \
  372. # php7.1-dev \
  373. # php7.1-enchant \
  374. # php7.1-fpm \
  375. # php7.1-gd \
  376. # php7.1-gmp \
  377. # php7.1-imap \
  378. # php7.1-interbase \
  379. # php7.1-intl \
  380. # php7.1-json \
  381. # php7.1-ldap \
  382. # php7.1-mbstring \
  383. # php7.1-mcrypt \
  384. # php7.1-mysql \
  385. # php7.1-odbc \
  386. # php7.1-opcache \
  387. # php7.1-pgsql \
  388. # php7.1-phpdbg \
  389. # php7.1-pspell \
  390. # php7.1-readline \
  391. # php7.1-recode \
  392. # php7.1-snmp \
  393. # php7.1-soap \
  394. # php7.1-sqlite3 \
  395. # php7.1-sybase \
  396. # php7.1-tidy \
  397. # php7.1-xml \
  398. # php7.1-xmlrpc \
  399. # php7.1-xsl \
  400. # php7.1-zip \
  401. # && apt-get remove --purge -yq php7.1-dev \
  402. # && apt-get install -y --no-install-recommends \
  403. # php7.2 \
  404. # php7.2-apcu \
  405. # php7.2-amqp \
  406. # php7.2-bcmath \
  407. # php7.2-bz2 \
  408. # php7.2-cgi \
  409. # php7.2-cli \
  410. # php7.2-common \
  411. # php7.2-curl \
  412. # php7.2-dba \
  413. # php7.2-dev \
  414. # php7.2-enchant \
  415. # php7.2-fpm \
  416. # php7.2-gd \
  417. # php7.2-gmp \
  418. # php7.2-imap \
  419. # php7.2-interbase \
  420. # php7.2-intl \
  421. # php7.2-json \
  422. # php7.2-ldap \
  423. # php7.2-mbstring \
  424. # php7.2-mysql \
  425. # php7.2-odbc \
  426. # php7.2-opcache \
  427. # php7.2-pgsql \
  428. # php7.2-phpdbg \
  429. # php7.2-pspell \
  430. # php7.2-readline \
  431. # php7.2-recode \
  432. # php7.2-snmp \
  433. # php7.2-soap \
  434. # php7.2-sqlite3 \
  435. # php7.2-sybase \
  436. # php7.2-tidy \
  437. # php7.2-xml \
  438. # php7.2-xmlrpc \
  439. # php7.2-xsl \
  440. # php7.2-zip \
  441. # && apt-get install -y --no-install-recommends \
  442. # php-igbinary \
  443. # php-memcache \
  444. # php-memcached \
  445. # php-mongodb \
  446. # php-redis \
  447. # php-xdebug \
  448. # php-yaml \
  449. # php-zmq \
  450. # && apt-get remove --purge -yq php7.2-dev \
  451. # && apt-get install -y --no-install-recommends snmp \
  452. # && rm -rf /var/lib/apt/lists/*
  453.  
  454. # # Install composer (for PHP)
  455. # COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
  456. # ENV COMPOSER_ALLOW_SUPERUSER=1
  457.  
  458. # # Install phpunit (for PHP)
  459. # RUN wget -q -O phpunit https://phar.phpunit.de/phpunit-7.phar \
  460. # && chmod +x phpunit \
  461. # && mv phpunit /usr/local/bin/phpunit
  462.  
  463. # # Install Pollinate
  464. # RUN apt-get update \
  465. # && apt-get install -y --no-install-recommends pollinate \
  466. # && rm -rf /var/lib/apt/lists/*
  467.  
  468. # Install Powershell Core
  469. RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
  470. && curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | tee /etc/apt/sources.list.d/microsoft.list \
  471. && apt-get update \
  472. && apt-get install -y --no-install-recommends \
  473. powershell \
  474. && rm -rf /var/lib/apt/lists/* \
  475. && rm -rf /etc/apt/sources.list.d/*
  476.  
  477. # Instally PyPy2
  478. RUN wget -q -P /tmp https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-linux64.tar.bz2 \
  479. && tar -x -C /opt -f /tmp/pypy2-v6.0.0-linux64.tar.bz2 \
  480. && rm /tmp/pypy2-v6.0.0-linux64.tar.bz2 \
  481. && mv /opt/pypy2-v6.0.0-linux64 /opt/pypy2 \
  482. && ln -s /opt/pypy2/bin/pypy /usr/local/bin/pypy
  483.  
  484. # Install PyPy3
  485. RUN wget -q -P /tmp https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-linux64.tar.bz2 \
  486. && tar -x -C /opt -f /tmp/pypy3-v6.0.0-linux64.tar.bz2 \
  487. && rm /tmp/pypy3-v6.0.0-linux64.tar.bz2 \
  488. && mv /opt/pypy3-v6.0.0-linux64 /opt/pypy3 \
  489. && ln -s /opt/pypy3/bin/pypy3 /usr/local/bin/pypy3
  490.  
  491. # Install Python
  492. RUN apt-get update \
  493. && apt-get install -y --no-install-recommends \
  494. python \
  495. python-pip \
  496. python3 \
  497. python3-pip \
  498. && rm -rf /var/lib/apt/lists/*
  499.  
  500. # # Install rebar3 (for Erlang)
  501. # RUN wget -q -O rebar3 https://s3.amazonaws.com/rebar3/rebar3 \
  502. # && chmod +x rebar3 \
  503. # && mv rebar3 /usr/local/bin/rebar3
  504.  
  505. # # Install Ruby requirements
  506. # RUN apt-get update \
  507. # && apt-get install -y libz-dev openssl libssl-dev \
  508. # && rm -rf /var/lib/apt/lists/*
  509.  
  510. # # Install Scala build tools
  511. # RUN curl -s https://raw.githubusercontent.com/paulp/sbt-extras/master/sbt > /usr/local/bin/sbt \
  512. # && chmod 0755 /usr/local/bin/sbt
  513.  
  514. # # Install Sphinx
  515. # RUN [ "xenial" = "xenial" ] \
  516. # && apt-get update \
  517. # && apt-get install -y sphinxsearch \
  518. # && rm -rf /var/lib/apt/lists/* \
  519. # || echo -n
  520.  
  521. # # Install Subversion
  522. # RUN apt-get update \
  523. # && apt-get install -y --no-install-recommends subversion \
  524. # && rm -rf /var/lib/apt/lists/*
  525. # ENV svn=/usr/bin/svn
  526.  
  527. # # Install Terraform
  528. # RUN TERRAFORM_VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r .current_version) \
  529. # && curl -LO https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip \
  530. # && unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip -d /usr/local/bin \
  531. # && rm -f terraform_${TERRAFORM_VERSION}_linux_amd64.zip
  532.  
  533. # # XSLT transformation
  534. # RUN apt-get update \
  535. # && apt-get install -y --no-install-recommends \
  536. # xsltproc \
  537. # xalan \
  538. # && rm -rf /var/lib/apt/lists/*
  539.  
  540. # # Install yarn
  541. # RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
  542. # && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
  543. # && apt-get update \
  544. # && apt-get install -y --no-install-recommends yarn \
  545. # && rm -rf /var/lib/apt/lists/* \
  546. # && rm -rf /etc/apt/sources.list.d/*
  547.  
  548. # Install Xvfb
  549. RUN apt-get update \
  550. && apt-get install -y xvfb \
  551. && rm -rf /var/lib/apt/lists/*
  552.  
  553. # Download hosted tool cache
  554. ENV AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
  555. RUN azcopy --recursive --source https://vstsagenttools.blob.core.windows.net/tools/hostedtoolcache/linux --destination $AGENT_TOOLSDIRECTORY
  556.  
  557. # Install the tools from the hosted tool cache
  558. RUN original_directory=$PWD \
  559. && setups=$(find $AGENT_TOOLSDIRECTORY -name setup.sh) \
  560. && for setup in $setups; do \
  561. chmod +x $setup; \
  562. cd $(dirname $setup); \
  563. ./$(basename $setup); \
  564. cd $original_directory; \
  565. done;
  566.  
  567. # # Add the latest Ruby version in the tool cache to the path
  568. # ENV PATH $PATH:/opt/hostedtoolcache/Ruby/2.5.1/x64/bin
  569.  
  570. # Update NPM
  571. ENV NPM_VERSION="6.5.0"
  572. RUN npm install npm@${NPM_VERSION} -g
  573.  
  574. # Android Configuration
  575. ENV ANDROID_SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip" \
  576. ANDROID_HOME="/usr/local/android-sdk" \
  577. ANDROID_VERSION=27 \
  578. ANDROID_BUILD_TOOLS_VERSION=27.0.3
  579.  
  580. # Download Android SDK
  581. RUN mkdir "$ANDROID_HOME" .android \
  582. && cd "$ANDROID_HOME" \
  583. && curl -o sdk.zip $ANDROID_SDK_URL \
  584. && unzip sdk.zip \
  585. && rm sdk.zip \
  586. && yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
  587.  
  588. # Install Android Build Tool and Libraries
  589. RUN touch ~/.android/repositories.cfg
  590. RUN $ANDROID_HOME/tools/bin/sdkmanager \
  591. "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
  592. "platforms;android-${ANDROID_VERSION}" \
  593. "platform-tools"
  594.  
  595. # Install pulumi
  596. ENV PULUMI_VERSION="0.16.9"
  597. RUN curl -fsSL https://get.pulumi.com/ | bash -s -- --version ${PULUMI_VERSION}
  598. ENV PATH="/root/.pulumi/bin:${PATH}"
  599.  
  600. # Clean system
  601. RUN apt-get clean \
  602. && rm -rf /var/lib/apt/lists/* \
  603. && rm -rf /etc/apt/sources.list.d/*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement