I successfully created a Plone6 Volto project using cookiecutter and followed the procedures described in Pone Training 2023.
The project is running locally without errors and now the challenge is to get a deployment to run on a virtual server in the cloud.
I am using the ansible approach and the boilerplate created in the deploy folder of the repo described at Plone Deployment โ Plone Training 2024 documentation until step Start the project using the make commands.
The server is running and reachable by ansible for basic operations. I am stuck when it comes to execute the step Creating a New Plone Site make stack-create-site
described at Deploying the Project โ Plone Deployment โ Plone Training 2024 documentation (and Start the Project โ Plone Deployment โ Plone Training 2024 documentation)
I got this error running make stack-create-site
in the local deploy
folder context:
==> Stack aeme-acsr-de: Create site in context prod
Error: No such container: ./docker-entrypoint.sh
make: *** [stack-create-site] Error 1
I am guessing there is something wrong with the Docker image creation.
What I did before
In the process before I got this output after setting up the git repo
make stack-deploy
==> Stack aeme-acsr-de: Deploy to context prod
Updating service aeme-acsr-de_backend (id: jx1t18q3br5knczkztul4cb3t)
image ghcr.io/acsr/aeme-backend:latest could not be accessed on a registry to record
its digest. Each node will access ghcr.io/acsr/aeme-backend:latest independently,
possibly leading to different nodes running different
versions of the image.
Updating service aeme-acsr-de_db (id: pzldfizcmaqjdhj5h7k4zxqcx)
Updating service aeme-acsr-de_traefik (id: jqtza7qz9ffb80k4nsyxlprka)
Updating service aeme-acsr-de_frontend (id: wodhhwc0n3v434l2mxi6adsmh)
image ghcr.io/acsr/aeme-frontend:latest could not be accessed on a registry to record
its digest. Each node will access ghcr.io/acsr/aeme-frontend:latest independently,
possibly leading to different nodes running different
versions of the image.
In the section Create a new project it is mentioned like this:
4. Push to GitHub
Push your commits to the remote repository hosted on GitHub. This command will trigger the GitHub Actions that test the codebase and generate Docker images for the Backend and for the Frontend.
When it comes to Building Docker Images
it says:
Ensure you build the Docker images for the Frontend and Backend servers before deployment. GitHub Actions, configured in
.github/workflows/backend.yml
and.github/workflows/frontend.yml
, facilitate this process.
and an important admonition follows:
Before deploying, push all code changes and ensure GitHub Actions successfully complete their runs. Execute these commands to format the code and run tests:
make format
make i18n
make test
For me the implicit tonality in the training docs is not helpful.
Why? Because we are dancing on multiple floors while deploying (Volto, Backend, Local Machine, Github Actions, Remote Server) it would be great to include the explicit context, where actions take place and where and how the results can be tracked.
When I try to execute some make commands in the deploy
folder context, I get get
make format
# output
make: *** No rule to make target `format'. Stop.
the same for:
make i18n
make test
# and as well (when trying to reinitialize)
make stack-rm
make stack-stop
make stack-start
Any ideas how to make sure the images build process works?
There was also a hint to the Docker Account:
Setting Up Docker
Ensure you're logged into your Docker account as the deployment uses public images.
I am logged in into my local Docker Desktop on macOS Ventura.
But the exact context is missing in the docs text.
make docker-setup
-> worksmake docker-info
-> results are not dropping any obvious missing things.