Unverified Commit 623b78f2 by Douglas Hall Committed by GitHub

Merge pull request #4694 from edx/douglashall/go-agent-microfrontend

Added Dockerfile for frontend deployment Go agents.
parents 5871a81c b6bd7696
FROM edxops/go-agent:latest
RUN curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - && \
apt-get update && apt-get install -y nodejs
Usage
#####
Start the container with this:
``docker run -d --network=edxgomatic_go-network -e GO_SERVER_URL=https://go-server:8154/go go-agent-frontend:latest``
If you need to start a few GoCD agents together, you can of course use the
shell to do that. Start a few agents in the background, like this:
``for each in 1 2 3; do docker run -d --link angry_feynman:go-server edx/go-agent-frontend; done``
Getting into the container
##########################
Sometimes, you need a shell inside the container (to create test repositories,
etc). docker provides an easy way to do that:
``docker exec -i -t CONTAINER-ID /bin/bash``
To check the agent logs, you can do this:
``docker exec -i -t CONTAINER-ID tail -f /var/log/go-agent/go-agent.log``
Agent Configuration
###################
The go-agent expects it's configuration to be found at
``/var/lib/go-agent/config/``. Sharing the configuration between containers is
done by mounting a volume at this location that contains any configuration
files necessary.
**Example docker run command:**
``docker run -ti -v /tmp/go-agent/conf:/var/lib/go-agent/config -e GO_SERVER=gocd.sandbox.edx.org 718d75c467c0 bash``
`How to setup auto registration for remote agents`_
Building and Uploading the container to ECS
###########################################
- Build and tag the go-agent docker image
- Follow the README in the go-agent directory to build and tag for go-agent.
- Create image
- This must be run from the root of the configuration repository
- ``docker build -f docker/build/go-agent-frontend/Dockerfile .``
- or
- ``make docker.test.go-agent-frontend``
- Log docker in to AWS
- Assume the role of the account you wish to log in to
- ``source assume_role.sh <account name>``
- ``sh -c `aws ecr get-login --region us-east-1```
- You might need to remove the ``-e`` option returned by that command in
order to successfully login.
- Tag image
- ``docker tag <image_id> ############.dkr.ecr.us-east-1.amazonaws.com/prod-tools-goagent-frontend:latest``
- ``docker tag <image_id> ############.dkr.ecr.us-east-1.amazonaws.com/prod-tools-goagent-frontend:<version_number>``
- upload:
- ``docker push ############.dkr.ecr.us-east-1.amazonaws.com/edx/release-pipeline/prod-tools-goagent-frontend:latest``
- ``docker push ############.dkr.ecr.us-east-1.amazonaws.com/edx/release-pipeline/prod-tools-goagent-frontend:<version_number>``
.. _How to setup auto registration for remote agents: https://docs.go.cd/current/advanced_usage/agent_auto_register.html
...@@ -8,6 +8,7 @@ weights: ...@@ -8,6 +8,7 @@ weights:
- discovery: 6 - discovery: 6
- go-agent: 3 - go-agent: 3
- go-server: 5 - go-server: 5
- go-agent-frontend: 4
- go-agent-marketing: 4 - go-agent-marketing: 4
- xqwatcher: 3 - xqwatcher: 3
- analytics_api: 1 - analytics_api: 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment