feat: add docker build and docker file#18
Open
yacosta738 wants to merge 20 commits intoarsham:masterfrom
Open
Conversation
Add Docker support for the `figurine` application. * **Dockerfile**: Add a `Dockerfile` to build the Docker image using a multi-stage build. Set the working directory to `/app`, copy the `figurine` binary to the final image, and set the entrypoint to the `figurine` binary. * **Makefile**: Add `docker-build`, `docker-run`, and `docker-clean` targets to build, run, and clean up the Docker image and container. * **README.md**: Add a new "Docker" section with instructions to build, run, and clean up the Docker image and container. * **.devcontainer/devcontainer.json**: Add a devcontainer configuration file with a build task for the `figurine` application. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/yacosta738/figurine?shareId=XXXX-XXXX-XXXX-XXXX).
Removed unused targets and streamlined Docker commands for better clarity and maintenance.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Add Docker support for figurine
…ve security - Upgrade Go version to 1.20 - Add support for building multi-platform Docker images - Create non-root user for security - Copy only the binary from the build stage - Update README with build instructions
feat(docker): ✨ update Dockerfile for multi-platform builds and improve security
Ensure safe removal of binary file if it exists
…ction and platform support
Enhance compatibility by refining the method for locating the binary in the extracted archive, including support for OS and architecture suffixes.
…d fallback Improve error handling for fetching latest release information using curl and wget. Add support for jq for JSON parsing and implement a fallback release tag.
Ensure that the checksum entry exists before verification to prevent installation errors.
…trict mode Improve code clarity by moving the banner printing function and enforcing strict mode settings.
Enhance the installer script to allow users to specify a custom GitHub repository for installation, improving flexibility and usability.
feature: install script
Enhance error handling for checksum verification by allowing continuation if checksums file is missing or mismatched.
fix(install): 🐛 improve checksum verification process
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces Docker support for the project, simplifies the
Makefileby removing unused targets, and updates the documentation to reflect these changes. The key updates are organized into the following themes:Docker Support
Dockerfileto build and run the application using Docker. The build stage compiles the Go binary, and the final stage uses Alpine Linux to package the binary.Makefilewith new Docker-related targets:docker-build,docker-run, anddocker-clean, simplifying Docker image and container management.Build and Development Workflow
Makefileby removing unused or redundant targets (e.g., platform-specific builds, release creation, and audit tasks) and focusing on core tasks likebuild,install,test, andclean..devcontainer/devcontainer.jsonfile to support containerized development environments.Documentation Updates
README.mdto include a new "Docker" section with instructions for building, running, and cleaning up the Docker image and container.README.mdto include the "Docker" section.