I am trying to build a nodejs angular docker image and run a container of it in AWS ECS. I think this way of doing it is very ineffecient and illogical. But I don´t know how to it in another way.
Here I use a node image with aws cli to easily push the and deploy the docker image to a aws ecs container
- echo "This script runs on all branches that don't have any specific pipeline assigned in 'branches'."
- eval $(aws ecr get-login --no-include-email | sed 's|https://||')
- cd ./ClientApp/
- docker build -t xxx .
# Tag and push my docker image to ECR
- docker tag xxx
- docker push xxx
# Register the ECS task definition and capture the version
- export IMAGE_NAME=xxx
- export TASK_VERSION=$(xxx
# Set ECS service to desired count 0
- aws ecs update-service --cluster xxx --service xxx --desired-count 0
# Set ECS service to desired count 1 and assign the new task-definition ## testing
- aws ecs update-service --cluster xxx --service wxxx --task-definition xxx:$TASK_VERSION --desired-count 1
The Dockerfile ia almost a default nodejs Dockerfile
# base image
# install chrome for protractor tests
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
RUN apt-get update && apt-get install -yq google-chrome-stable
# set working directory
RUN mkdir /usr/src/app
# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
# install and cache app dependencies
COPY package.json /usr/src/app/package.json
RUN npm install
RUN npm install -g @email@example.com
# add app
COPY . /usr/src/app
# start app
CMD ng serve --port xxx --host xxx
It takes around 9min for the pipelines start to finish. This way of doing it seems wrong?
and the docker cache seems to not work as well.
Can´t I do it another way? I have the "same" (very similar) setup for .net core app as well
When working in customer support, it’s crucial to calculate, analyze and monitor specific numbers, called KPIs (Key Performance Indicators). They go hand-in-hand with customer satisfaction, problem d...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events