11name : Docker Build
2-
32on :
43 push :
5- branches : [ main, devel ] # Adjust based on your primary branch name
4+ branches : [ main, devel ]
65 pull_request :
76 branches : [ main, devel ]
8-
97jobs :
108 build :
119 runs-on : ubuntu-22.04
1412 - name : Checkout code
1513 uses : actions/checkout@v3
1614
15+ - name : Configure Docker to use extra disk space
16+ run : |
17+ echo "Disk space before reconfiguration:"
18+ df -h
19+
20+ # Stop Docker service
21+ sudo systemctl stop docker
22+
23+ # Create new Docker data directory on the secondary disk
24+ sudo mkdir -p /mnt/docker
25+
26+ # Configure Docker to use the new location
27+ echo '{
28+ "data-root": "/mnt/docker"
29+ }' | sudo tee /etc/docker/daemon.json
30+
31+ # Restart Docker service
32+ sudo systemctl start docker
33+ sudo systemctl status docker
34+
35+ echo "Disk space after reconfiguration:"
36+ df -h
37+
1738 - name : Set up Docker Buildx
18- uses : docker/setup-buildx-action@v2
39+ uses : docker/setup-buildx-action@v2
40+
1941 - name : Print Docker and Docker Compose versions
2042 run : |
2143 echo "Docker version:"
2446 docker compose version
2547 echo "System info:"
2648 uname -a
49+
2750 - name : Free up disk space
2851 run : |
2952 echo "Disk space before cleanup:"
3659 sudo rm -rf "$AGENT_TOOLSDIRECTORY"
3760 sudo apt-get autoremove -y
3861 sudo apt-get clean
39- sudo docker rmi $(docker image ls -aq) >/dev/null 2>&1 || true
40- sudo docker image prune --all --force
41- sudo docker builder prune -a
4262 echo "Disk space after cleanup:"
4363 df -h
64+
4465 - name : List files in directory
4566 run : |
4667 echo "Repository contents:"
@@ -50,20 +71,17 @@ jobs:
5071
5172 - name : Build with Docker Compose
5273 run : |
74+ # Create a temporary directory on the secondary disk for any build artifacts
75+ mkdir -p /mnt/build-tmp
76+
5377 echo "Starting Docker Compose build..."
54- docker compose build --progress=plain
78+ # Use DOCKER_BUILDKIT=1 for more efficient builds
79+ DOCKER_BUILDKIT=1 docker compose build --progress=plain
5580 echo "Docker Compose build completed successfully!"
5681
5782 - name : List built images
5883 run : |
5984 echo "Built Docker images:"
6085 docker images
61-
62- # Optional - Add a test step that runs your container
63- # - name: Test container
64- # run: |
65- # docker compose up -d
66- # echo "Container is running. Docker status:"
67- # docker ps
68- # # Add any test commands here
69- # docker compose down
86+ echo "Disk usage:"
87+ df -h
0 commit comments