From 560cb5c81bcf4ea167c8e7b4244287d52aa12130 Mon Sep 17 00:00:00 2001 From: mat ess Date: Thu, 20 Oct 2022 17:58:05 -0400 Subject: [PATCH] Updates --- .drone.yml | 12 +++---- DOCS.md | 104 ++++++++--------------------------------------------- Dockerfile | 4 +-- README.md | 19 +++++----- script.sh | 47 +++++++++++------------- 5 files changed, 53 insertions(+), 133 deletions(-) diff --git a/.drone.yml b/.drone.yml index ea2992a..ceaba13 100644 --- a/.drone.yml +++ b/.drone.yml @@ -14,7 +14,7 @@ steps: dry_run: true password: from_secret: docker_password - repo: techknowlogick/drone-netlify + repo: internetmat/drone-netlify tags: linux-amd64 username: from_secret: docker_username @@ -30,7 +30,7 @@ steps: auto_tag_suffix: linux-amd64 password: from_secret: docker_password - repo: techknowlogick/drone-netlify + repo: internetmat/drone-netlify username: from_secret: docker_username when: @@ -59,7 +59,7 @@ steps: dry_run: true password: from_secret: docker_password - repo: techknowlogick/drone-netlify + repo: internetmat/drone-netlify tags: linux-arm64 username: from_secret: docker_username @@ -75,7 +75,7 @@ steps: auto_tag_suffix: linux-arm64 password: from_secret: docker_password - repo: techknowlogick/drone-netlify + repo: internetmat/drone-netlify username: from_secret: docker_username when: @@ -104,7 +104,7 @@ steps: dry_run: true password: from_secret: docker_password - repo: techknowlogick/drone-netlify + repo: internetmat/drone-netlify tags: linux-arm username: from_secret: docker_username @@ -120,7 +120,7 @@ steps: auto_tag_suffix: linux-arm password: from_secret: docker_password - repo: techknowlogick/drone-netlify + repo: internetmat/drone-netlify username: from_secret: docker_username when: diff --git a/DOCS.md b/DOCS.md index 881526d..4f484dc 100644 --- a/DOCS.md +++ b/DOCS.md @@ -1,104 +1,28 @@ --- date: 2018-02-15T00:00:00+00:00 title: Netlify -author: lucaperret +author: internetmat tags: [ deploy, netlify ] -repo: lucaperret/drone-netlify +repo: internetmat/drone-netlify logo: netlify.svg -image: lucap/drone-netlify +image: internetmat/drone-netlify --- The netlify plugin deploy your build to [netlify.com](https://netlify.com). -The below pipeline configuration demonstrates simple usage to deploy the current working directory: +The below pipeline configuration demonstrates the configuration for the plugin. ```yaml pipeline: netlify: - image: lucap/drone-netlify - token: xxxxx - site_id: xxxxxxx-xxxx-xxx-xxxxxxxx + image: internetmat/drone-netlify + settings: + token: + from_secret: netlify_token + site: + from_secret: netlify_site_id + # override deploy alias, defaults to git SHA + alias: mybuild + path: /site/ + prod: true ``` - -Example configuration for assigning [Netlify subdomain](https://www.netlify.com/docs/custom-domains/): - -```diff -pipeline: - netlify: - image: lucap/drone-netlify - token: xxxxx - site_id: xxxxxxx-xxxx-xxx-xxxxxxxx -+ site_name: my-deployment-alias -``` - -Example configuration with [Custom domain](https://www.netlify.com/docs/custom-domains/): - -```diff -pipeline: - netlify: - image: lucap/drone-netlify - token: xxxxx - site_id: xxxxxxx-xxxx-xxx-xxxxxxxx -- site_name: my-deployment-alias -+ domain: my-custom-domain.com -``` - -Example configuration for specifying [environment](https://www.netlify.com/docs/continuous-deployment/#deploy-contexts): - -```diff -pipeline: - netlify: - image: lucap/drone-netlify - token: xxxxx - site_id: xxxxxxx-xxxx-xxx-xxxxxxxx -- domain: my-custom-domain.com -+ environment: production -``` - -Example configuration to deploy a specific folder or Zip (default current working directory): - -```diff -pipeline: - netlify: - image: lucap/drone-netlify - token: xxxxx - site_id: xxxxxxx-xxxx-xxx-xxxxxxxx -- environment: production -+ path: ./dist -``` - -Example configuration using token from secrets: - -```diff -pipeline: - netlify: - image: lucap/drone-netlify -- token: xxxxx - site_id: xxxxxxx-xxxx-xxx-xxxxxxxx -+ secrets: [ netlify_token ] -``` - -# Secret Reference - -netlify_token -: Netlify [token](https://app.netlify.com/applications) - -# Parameter Reference - -token -: `Required` Netlify [token](https://app.netlify.com/applications) - -site_id -: `Required` Set the Site ID (or API ID in your Site settings dashboard) - -site_name -: Set a Netlify subdomain - -domain -: Set your custom domain - -environment -: Specify an environment - -path -: Path to a folder or zip file to deploy diff --git a/Dockerfile b/Dockerfile index 4653633..0aee3bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ -FROM node:16-slim +FROM node:19-slim -LABEL maintainer="techknowlogick " +LABEL maintainer="internetmat " LABEL org.label-schema.description="Deploying to netlify with Drone CI" RUN npm install -g netlify-cli diff --git a/README.md b/README.md index 4f81c64..2a22238 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ > Deploying to [Netlify](https://netlify.com) with [Drone](https://drone.io) CI. -[![Docker Pulls](https://img.shields.io/docker/pulls/techknowlogick/drone-netlify.svg)](https://hub.docker.com/r/techknowlogick/drone-netlify/) +[![Docker Pulls](https://img.shields.io/docker/pulls/internetmat/drone-netlify.svg)](https://hub.docker.com/r/internetmat/drone-netlify/) Use case examples: @@ -23,12 +23,11 @@ Deploy the working directory to Netlify. ```bash docker run --rm \ - -e PLUGIN_TOKEN=xxxxx \ - -e PLUGIN_SITE_ID=xxxxxxx-xxxx-xxx-xxxxxxxx \ - -e PLUGIN_SITE_NAME=netlify-subdomain + -e PLUGIN_TOKEN=$NETLIFY_TOKEN \ + -e PLUGIN_SITE=my-netlify-site \ -v $(pwd):$(pwd) \ -w $(pwd) \ - lucap/drone-netlify + internetmat/drone-netlify ``` ### From Drone CI @@ -36,8 +35,10 @@ docker run --rm \ ```yaml pipeline: netlify: - image: techknowlogick/drone-netlify - token: xxxxx - site_id: xxxxxxx-xxxx-xxx-xxxxxxxx - site_name: netlify-subdomain + image: internetmat/drone-netlify + settings: + token: + from_secret: netlify_token + site: + from_secret: netlify_site_id ``` diff --git a/script.sh b/script.sh index 921c335..ebefe62 100755 --- a/script.sh +++ b/script.sh @@ -3,19 +3,17 @@ set -e NETLIFY_SITE="" NETLIFY_DEPLOY_OPTIONS="" -NETLIFY_UPDATE_OPTIONS="" -if [ -n "$PLUGIN_ENVIRONMENT" ] +if [ -n "$PLUGIN_PROD" ] && [ "$PLUGIN_PROD" != false ] then - NETLIFY_DEPLOY_OPTIONS="-e ${PLUGIN_ENVIRONMENT}" - NETLIFY_UPDATE_OPTIONS="${NETLIFY_DEPLOY_OPTIONS}" + NETLIFY_DEPLOY_OPTIONS="--prod" fi if [ -n "$PLUGIN_PATH" ] then - NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} -d ${PLUGIN_PATH}" + NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} --dir ${PLUGIN_PATH}" else - NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} -d ./" + NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} --dir ./" fi if [ -z "$PLUGIN_TOKEN" ] @@ -29,32 +27,29 @@ then fi fi -if [ -n "$PLUGIN_SITE_ID" ] && [ -n "$PLUGIN_TOKEN" ] +if [ -n "$PLUGIN_ALIAS" ] then - NETLIFY_SITE="--prod -a $PLUGIN_TOKEN -s $PLUGIN_SITE_ID" + NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} --alias ${PLUGIN_ALIAS}" +elif [ -n "$DRONE_COMMIT_SHA" ] +then + NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} --alias ${DRONE_COMMIT_SHA}" +fi + +message="Automated deploy from build.mat.services +(${DRONE_COMMIT_BRANCH} @ ${DRONE_COMMIT_SHA}) +$DRONE_COMMIT_MESSAGE" +NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} --message '$message'" + +if [ -n "$PLUGIN_SITE" ] +then + NETLIFY_SITE="--auth $PLUGIN_TOKEN --site $PLUGIN_SITE" echo "> Deploying on Netlify…" && - netlify deploy $NETLIFY_SITE $NETLIFY_DEPLOY_OPTIONS; + netlify deploy "$NETLIFY_SITE" "$NETLIFY_DEPLOY_OPTIONS"; else - echo "> Error! site_id and token are required" + echo "> Error! site (site ID or name) and token are required" exit 1 fi -if [ -n "$PLUGIN_SITE_NAME" ] -then - NETLIFY_UPDATE_OPTIONS="${NETLIFY_UPDATE_OPTIONS} -n ${PLUGIN_SITE_NAME}" -fi - -if [ -n "$PLUGIN_DOMAIN" ] -then - NETLIFY_UPDATE_OPTIONS="${NETLIFY_UPDATE_OPTIONS} -d ${PLUGIN_DOMAIN}" -fi - -if [ -n "$PLUGIN_SITE_NAME" ] || [ -n "$PLUGIN_DOMAIN" ] -then - echo "> Updating your Netlify site…" && - netlify $NETLIFY_SITE update $NETLIFY_UPDATE_OPTIONS; -fi - rc=$?; if [[ $rc != 0 ]] then