11# Alternative Execution: Containers in the Cloud (GitHub Actions)
22
3+ > Optional Exploration (not required)
4+
35This project can be packaged and executed
46in a Docker container without installing Docker locally.
57
@@ -39,79 +41,50 @@ Docker Desktop is **not** recommended on many Windows machines.
3941
4042## Step 1. Add a Dockerfile
4143
42- Create a file named ` Dockerfile ` in the project root:
43-
44- ``` dockerfile
45- FROM python:3.14-slim
46-
47- WORKDIR /app
48-
49- COPY . .
50-
51- RUN pip install --no-cache-dir uv
44+ Create a file named ` Dockerfile ` in the project root.
5245
53- RUN uv self update
54- RUN uv python pin 3.14
55- RUN uv sync --extra dev --extra docs --upgrade
56-
57- CMD ["uv" , "run" , "python" , "-m" , "cintel.continuous_intelligence_case" ]
58- ```
46+ See the example file provided.
5947
6048IMPORTANT: Adjust the final command when your custom project
6149entry point (the module name) differs.
6250
6351## Step 2. Add a GitHub Actions Workflow
6452
65- Create the file:
66-
67- .github/workflows/docker-build.yml
68-
69- ``` yaml
70- name : Container Build and Run
53+ Create a file: ` .github/workflows/deploy-docker.yml `
7154
72- on :
73- push :
74- branches : [main]
75- workflow_dispatch :
76-
77- jobs :
78- build-run :
79- runs-on : ubuntu-latest
80-
81- steps :
82- - uses : actions/checkout@v4
83-
84- - name : Build container
85- run : docker build -t cintel-pipeline .
86-
87- - name : Run container
88- run : docker run cintel-pipeline
89- ` ` `
55+ See the example file provided.
9056
9157## Step 3. Run the Workflow
9258
93591 . Push your changes to GitHub
94602 . Open the Actions tab
95- 3. Select the workflow
96- 4. View logs for:
97- - container build steps
98- - pipeline execution output
61+ 3 . Select the workflow with the name e.g. ` Docker Container and Quality Checks `
62+ 4 . Look for:
63+ - Job 1 - Run Docker pre-commit
64+ - Job 2 - Build Docker image
65+ - Job 3 - Run project in container
66+ 5 . Click to expand ** Job 3 A3) Run project** to see the logs:
9967
10068You should see:
10169
70+ ``` text
71+ ========================
10272Pipeline executed successfully!
73+ ========================
74+ ```
10375
104- ## What to Observe
76+ ## Explore
10577
10678As the workflow runs, note:
10779
10880- how dependencies are installed inside the container
10981- how the pipeline runs without your local environment
11082- any errors during build or execution
11183
112- These logs provide insight into how software is packaged and executed in production systems.
84+ These logs provide insight into how software
85+ is packaged and executed in production systems.
11386
114- ## Optional: Share Your Results
87+ ## Share Your Results
11588
11689If you experiment with containers, document:
11790
@@ -121,18 +94,10 @@ If you experiment with containers, document:
12194- performance observations
12295- link to your repository
12396
124- ## Summary
125-
126- - Containers package code and environment together
127- - GitHub Actions can build and run containers in the cloud
128- - This avoids local setup issues while exposing real-world tooling
129-
130- This is an optional extension. The core project does not require containers.
131-
132- ## Notes
97+ ## Reusability
13398
13499This pattern is reusable across projects:
135100
136101- Dockerfile defines execution environment
137102- GitHub Actions provides remote execution
138- - No local Docker required
103+ - No local Docker installation is required (nice for Windows users)
0 commit comments