Updates
continuous-integration/drone/push Build was killed Details

main
mat ess 2022-10-20 17:58:05 -04:00
parent 2961c3daf4
commit 560cb5c81b
5 changed files with 53 additions and 133 deletions

View File

@ -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:

104
DOCS.md
View File

@ -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

View File

@ -1,6 +1,6 @@
FROM node:16-slim
FROM node:19-slim
LABEL maintainer="techknowlogick <techknowlogick@gitea.io>"
LABEL maintainer="internetmat <mat@mat.services>"
LABEL org.label-schema.description="Deploying to netlify with Drone CI"
RUN npm install -g netlify-cli

View File

@ -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
```

View File

@ -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