Skip to content
This repository was archived by the owner on May 31, 2019. It is now read-only.

added beta 7 coreclr dockerfile #84

Merged
merged 7 commits into from
Sep 14, 2015
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/build-app-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ BASE_IMAGE=$1
TEST_APP=$2
TAG=$3
VERSION=$4

VERSION=$(echo $VERSION | sed -e "s/-coreclr//")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you might wanna do this s/-coreclr$// :)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or even VERSION=${VERSION%-coreclr} :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually let's extract $SAMPLES_REPO/samples/$VERSION/$TEST_APP into a variable (it repeats at least twice) and handle it there inline like ".../${VERSION%-coreclr}/..."


echo "[CI] Injecting Dockerfile to project $TEST_APP..."
if [[ ! -d $SAMPLES_REPO/samples/$VERSION/$TEST_APP ]]; then
Expand Down
25 changes: 25 additions & 0 deletions 1.0.0-beta7-coreclr/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM debian:jessie
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a later debian release than wheezy with the dependencies we need in it

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jchannon can you please check if we still need to compile libuv ourselves in jessie? Historically in #22 we started to compile this ourselves, if the libuv in jessie repos is good enough then we can move all images to jessie in a separate PR.

cc: @akoeplinger

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ahmetalpbalkan yeah, jessie is still on 0.10 while we need 1.x: https://packages.debian.org/jessie/libuv-dev


ENV DNX_VERSION 1.0.0-beta7
ENV DNX_USER_HOME /opt/dnx

RUN apt-get -qq update && apt-get -qqy install unzip curl libunwind8 gettext libssl-dev libcurl3-dev zlib1g

RUN curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_USER_HOME=$DNX_USER_HOME DNX_BRANCH=v$DNX_VERSION sh
RUN bash -c "source $DNX_USER_HOME/dnvm/dnvm.sh \
&& dnvm upgrade -r coreclr"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is better do it like the other versions. This implicitly downloads the latest version of the runtime and doesn't set the alias which is required for the PATH.

RUN bash -c "source $DNX_USER_HOME/dnvm/dnvm.sh \
    && dnvm install $DNX_VERSION -r coreclr -a default \
    && dnvm alias default | xargs -i ln -s $DNX_USER_HOME/runtimes/{}$DNX_USER_HOME/runtimes/default"

I can conform that my application is building and runs correctly after this change.


# Install libuv for Kestrel from source code (binary is not in wheezy and one in jessie is still too old)
RUN apt-get -qqy install \
autoconf \
automake \
build-essential \
libtool
RUN LIBUV_VERSION=1.4.2 \
&& curl -sSL https://github.com/libuv/libuv/archive/v${LIBUV_VERSION}.tar.gz | tar zxfv - -C /usr/local/src \
&& cd /usr/local/src/libuv-$LIBUV_VERSION \
&& sh autogen.sh && ./configure && make && make install \
&& rm -rf /usr/local/src/libuv-$LIBUV_VERSION \
&& ldconfig

ENV PATH $PATH:$DNX_USER_HOME/runtimes/default/bin