diff --git a/.github/workflows/cloudshell-build-push.yaml b/.github/workflows/cloudshell-build-push.yaml deleted file mode 100644 index 602c27e0..00000000 --- a/.github/workflows/cloudshell-build-push.yaml +++ /dev/null @@ -1,49 +0,0 @@ -name: Build & Push Cloudshell Images - -on: - push: - branches: - - master - -jobs: - build_and_push: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to GHCR - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner}} - password: ${{ secrets.GHCR_BUILD_PUSH_TOKEN }} - - - name: Generate Tag - id: tag - run: | - echo "image_tag=${{ github.sha }}-$(date '+%Y-%m-%d-%H-%M-%S')" >> $GITHUB_OUTPUT - - - name: Base image - uses: docker/build-push-action@v6 - with: - context: . - file: linux/base.Dockerfile - push: true - tags: ghcr.io/azure/cloudshell/base:${{ steps.tag.outputs.image_tag }},ghcr.io/azure/cloudshell/base:latest - - - name: Tools image - uses: docker/build-push-action@v6 - with: - context: . - file: linux/tools.Dockerfile - push: true - tags: ghcr.io/azure/cloudshell/tools:${{ steps.tag.outputs.image_tag }},ghcr.io/azure/cloudshell/tools:latest - build-args: IMAGE_LOCATION=ghcr.io/azure/cloudshell/base:${{ steps.tag.outputs.image_tag }} diff --git a/README.md b/README.md index 60c2ae19..f1e24b28 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,8 @@ Cloud Shell team respects and enjoys engaging with our customers, please share o ## About this repository When you connect to Azure Cloud Shell, we start a container hosting a wide variety of tools, and - connect your browser to a shell process running inside that container. This repository contains the Docker files used to build that container image. It does _not_ contain the code used for the rest of - the Azure Cloud Shell service. The code in this repository may not match exactly to what is running in the Cloud Shell service at any given time. The service is updated periodically and changes are gradually rolled out to different regions over time. @@ -75,20 +73,16 @@ When building or using the image locally, you don't need to worry about that. Ju instructions below, and be aware that changes to the base layer will take longer to release than changes to the tools. -| Layer | Job | -| ---|---| -| Base | Contains large, infrequently changing packages. Changes every 3-4 months. | -| Tools | Contains frequently changing packages. Changes every 2-3 weeks | +| Layer | Job | +|-------|---------------------------------------------------------------------------| +| Base | Contains large, infrequently changing packages. Changes every 3-4 months. | +| Tools | Contains frequently changing packages. Changes every 2-3 weeks | + ## Building and Testing the image ### Building the images -> [!NOTE] -> Cloud Shell publishes an image on each update to the master branch. If you would like to use the pre-built image, then -> you can skip this step by downloading the latest [base image layer here](ghcr.io/azure/cloudshell/base:latest) -> and the latest [tools image layer here](ghcr.io/azure/cloudshell/tools:latest). You can find all previously built image layers [here](https://github.com/orgs/Azure/packages?repo_name=CloudShell). - Required software: - Docker @@ -97,13 +91,18 @@ Required software: Building base.Dockerfile image from the root repository ```bash -docker build -t base_cloudshell -f linux/base.Dockerfile . +docker build \ + -t base_cloudshell \ + -f linux/base.Dockerfile . ``` Building tools.Dockerfile image ```bash -docker build -t tools_cloudshell --build-arg IMAGE_LOCATION=base_cloudshell -f linux/tools.Dockerfile . +docker build \ + -t tools_cloudshell \ + --build-arg IMAGE_LOCATION=base_cloudshell \ + -f linux/tools.Dockerfile . ``` ### Testing the images @@ -123,7 +122,10 @@ docker run -it tools_cloudshell /usr/bin/pwsh Testing the Cloud Shell image: ```bash -docker run --volume /path/to/CloudShell/folder/tests:/tests -it tools_cloudshell /tests/test.sh +docker run \ + --volume $(pwd)/tests:/tests \ + -it tools_cloudshell \ + /tests/test.sh ``` For more information about bind mounts, please see the @@ -134,18 +136,18 @@ to pass if you want your changes to be merged. ### Types of issues -| Issue Type | Action | -| ---|---| -| Package is out of date | Create a Pull Request or Issue | -| Add a package to my Cloud Shell | Follow [Cloud Shell package addition](./docs/add-package-into-cloudshell.md) | -| Add a package to everyone's Cloud Shell | Follow [Package Inclusion Guide](./docs/package-inclusion-guide.md) | -| New desired Cloud Shell feature | Create an [Discussion](https://github.com/Azure/CloudShell/discussions) | -| Issue with one of the packages* | Talk to package owner & create a PR on their repo. | -| Issue with how package interacts with Cloud Shell | Create a Pull Request OR GitHub Issue | -| Security bug | See | +| Issue Type | Action | +|--------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------| +| Package is out of date | Create a Pull Request or Issue | +| Add a package to my Cloud Shell | Follow [Cloud Shell package addition](./docs/add-package-into-cloudshell.md) | +| Add a package to everyone's Cloud Shell | Follow [Package Inclusion Guide](./docs/package-inclusion-guide.md) | +| New desired Cloud Shell feature | Create an [Discussion](https://github.com/Azure/CloudShell/discussions) | +| Issue with one of the packages* | Talk to package owner & create a PR on their repo. | +| Issue with how package interacts with Cloud Shell | Create a Pull Request OR GitHub Issue | +| Security bug | See | | Issue with Cloud Shell in Azure Portal (can't log in, for example) | Open a [support ticket](https://learn.microsoft.com/azure/active-directory/fundamentals/how-to-get-support) | -* For example, if you have an issue within Azure CLI, don't open up an issue in the Cloud Shell +For example, if you have an issue within Azure CLI, don't open up an issue in the Cloud Shell repo, open an issue within the Azure CLI repo. - [Azure PowerShell issues](https://github.com/Azure/azure-powershell/issues)