All Projects → alpinelinux → Alpine Make Vm Image

alpinelinux / Alpine Make Vm Image

Licence: mit
Make customized Alpine Linux disk image for virtual machines

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Alpine Make Vm Image

Alpine Chroot Install
Install Alpine Linux in chroot with a breeze. Build ARM on Travis CI or any other x86_64 CI.
Stars: ✭ 133 (-8.28%)
Mutual labels:  alpine-linux, ci
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+49.66%)
Mutual labels:  deployment, ci
Build
Netlify Build runs the build command, Build Plugins and bundles Netlify Functions.
Stars: ✭ 135 (-6.9%)
Mutual labels:  deployment, ci
kahoy
Simple Kubernetes raw manifests deployment tool
Stars: ✭ 33 (-77.24%)
Mutual labels:  deployment, ci
jekyll-deploy-action
🪂 A Github Action to deploy the Jekyll site conveniently for GitHub Pages.
Stars: ✭ 162 (+11.72%)
Mutual labels:  deployment, ci
Plek
Make continuous deployment delightful. Deploy and preview your apps for each pull request with Plek. 🇳🇱
Stars: ✭ 15 (-89.66%)
Mutual labels:  deployment, ci
Mbt
The most flexible build tool for monorepo
Stars: ✭ 184 (+26.9%)
Mutual labels:  deployment, ci
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (-82.07%)
Mutual labels:  deployment, ci
dockerized-drupal-starter
End-to-end (CI + CD) dockerized Drupal 8 starting point.
Stars: ✭ 27 (-81.38%)
Mutual labels:  deployment, ci
S3 Sync Action
🔄 GitHub Action to sync a directory with a remote S3 bucket 🧺
Stars: ✭ 497 (+242.76%)
Mutual labels:  deployment, ci
Cloudflare Purge Action
🗑️ GitHub Action to purge a website's cache via the Cloudflare API
Stars: ✭ 66 (-54.48%)
Mutual labels:  deployment, ci
Javascript Testing Best Practices
📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2021)
Stars: ✭ 13,976 (+9538.62%)
Mutual labels:  ci
Bahn.guru
Deutsche Bahn ticket price calendar.
Stars: ✭ 139 (-4.14%)
Mutual labels:  deployment
Terraform With Circleci Example
This is an example of automatic deployments of your infrastructure using terraform and CircleCI 2.0 workflows
Stars: ✭ 142 (-2.07%)
Mutual labels:  deployment
Exoframe Server
Exoframe is a self-hosted tool that allows simple one-command deployments using Docker
Stars: ✭ 139 (-4.14%)
Mutual labels:  deployment
Keel
Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates
Stars: ✭ 1,870 (+1189.66%)
Mutual labels:  deployment
Gitlab Ci Local
Tired of pushing to test your .gitlab-ci.yml?
Stars: ✭ 134 (-7.59%)
Mutual labels:  ci
Machine Learning Projects
This repository consists of all my Machine Learning Projects.
Stars: ✭ 135 (-6.9%)
Mutual labels:  deployment
Dockertest
Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
Stars: ✭ 2,254 (+1454.48%)
Mutual labels:  ci
Openwhisk Devtools
Development tools for building and deploying Apache OpenWhisk
Stars: ✭ 141 (-2.76%)
Mutual labels:  deployment

= Make Alpine Linux VM Image :script-name: alpine-make-vm-image :script-sha1: 9803170e07b05b97eb6712e6a9097ad656954d0f :gh-name: alpinelinux/{script-name} :version: 0.7.0

ifdef::env-github[] image:https://github.com/{gh-name}/workflows/CI/badge.svg["Build Status", link="https://github.com/{gh-name}/actions"] endif::env-github[]

This project provides a script for making customized https://alpinelinux.org/[Alpine Linux] disk images for virtual machines. It’s quite simple (300 LoC of shell), fast (~32 seconds on GitHub Actions) and requires minimum dependencies (QEMU and filesystem tools).

TIP: Don’t need VM, just want to chroot into Alpine Linux (e.g. on CI)? Try https://github.com/alpinelinux/alpine-chroot-install[alpine-chroot-install]!

== Requirements

  • Linux system with common userland (Busybox or GNU coreutils)
  • POSIX-sh compatible shell (e.g. Busybox ash, dash, Bash, ZSH)
  • qemu-img and qemu-nbd (automatically installed by the script if running on Alpine)
  • e2fsprogs (for ext4), btrfs-progs (for Btrfs), or xfsprogs (for XFS) (automatically installed by the script if running on Alpine)

== Usage

Read documentation in link:{script-name}[{script-name}]. See link:.github/workflows/ci.yml[] for GitHub Actions example.

You can copy link:{script-name}[{script-name}] into your repository or download it on demand, e.g.:

[source, sh, subs="+attributes"] wget https://raw.githubusercontent.com/{gh-name}/v{version}/{script-name}
&& echo '{script-sha1} {script-name}' | sha1sum -c
|| exit 1

== Pitfalls

=== Creating Image for VMware (ESXi)

VMware and disk images (virtual disks) is one big mess. You can find that VMware uses the VMDK format, but the problem is that this is not a single format. Actually it has many subformats with very different structure and various (in)compatibility with VMware hypervisors.

When I’ve created a disk image using qemu-img create -f vmdk or converted Qcow2 to VMDK using qemu-img convert -O vmdk, vSphere client loaded this image without any problem, but the data was corrupted. Eventually I found in some old documentation that ESXi does not support “sparse” disks…

So after many trials I found out that the least bad and functional solution is to create Qcow2 image and then convert it to VMDK using:

[source, sh] qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=monolithicFlat alpine.qcow2 alpine.vmdk

Unfortunately, this creates a “thick” image, i.e. its size equals the “provisioned space”, not actually used space as in Qcow2. However, you can compress it with gzip to avoid transferring multiple gigabytes of zeros over network.

== License

This project is licensed under http://opensource.org/licenses/MIT/[MIT License]. For the full text of the license, see the link:LICENSE[LICENSE] file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].