Are there any guides on using Codesys containers in Docker? I am new in using Docker and containers in general, but I understand the main points of it.
I found the Codesys-4-Linux container, but I'm not sure where to start in using it. https://forge.codesys.com/tol/codesys-4-linux/docker/ci/master/tree/
I am familiar with Codesys and I would like to utilize Codesys containers on a server to run automated tests via Cfunit.
Any info would be greatly appreciated.
First question is, if you want to run the CODESYS IDE or the CODESYS Control Runtime (the PLC) in a container.
For the IDE:
For the Runtime:
But those are just the images. To learn how to use them, you need more docker experience.
I'm currently going through this tutorial: https://docker-curriculum.com/
Also, I just found this page: https://forge.codesys.com/tol/codesys-4-linux/home/Home/ which is helpful, thank you Ingo for making it.
I'm expecting to use just the IDE in the following way:
For the case described above, I would only need to use the "codesys-IDE" container correct?
I'll go through the repo and figure out how everything works.
Thanks for making the Docker container!
Yes, exactly! In combination with cfUnit, I also experienced with this
You can start it in the container simply with the command "codesys
build-test". While it worked locally, I didn't get it to run in my
productive environment. But this was related to Drone, which I used as a
This command builds a boot app, which I then started with this script:
Yes, and you're welcome! 😉
Do you have a an example work flow for using the Codesys-IDE container?
I am having a difficult time understanding what inputs or prerequisites are required in order to use commands like "build-test" or "compile-library".
For instance, what inputs are expected after this command? A path to a .project file on the host computer?
docker run codesys-ide codesys build-test
To answer your last question first:
You need no input. The commands are designed, they are crunching through all files recursively. The reason for this "weired" design is the main use case, for which I designed them:
"Execute easy build tasks" So a command might look like "codesys compile-library" , and it operates on the whole repo (magically).
Checkout this documentation, to understand the idea:
So, maybe you now also got an idea on how I use the containers.
If I can help you more, continue to ask.
If it is a specific question, just ask this.
If you have more general problems in understanding my stuff, I will need a bit more information about your current status.
And I want to boost the idea of @hermsen . It would be terribly interesting for many of us, if you could write a nice blog post about your solution. Maybe it's still too early. But when you are ready and you need some help to publish it, feel free to ask for support.
I started to realize your design after deciphering the "codesys" bash script in the codesys-ide folder and the "run" script in the Test folder.
I'll review the wiki link.
I'll be sure to post about the journey when I get proficient with the tools.
To clarify, you need to use Drone CI/CD (or another CI/CD tool) in order to utilize the Codesys containers, correct?
That's the main use case, but it might also be helpful in other scenarios.
Maybe you would be so kind and write up a blog of your progress? We would love to see such a project/story/blog in CForge! Plus, if you encounter some difficulties we can help.
I'll document my journey. I'm looking through the repo in order to reduce trivial questions. I appreciate all the help.
I'll pose questions here when I put in my due diligence.
Log in to post a comment.