parent
bfebdd8a64
commit
6cf7040471
|
@ -0,0 +1,8 @@
|
||||||
|
pipeline:
|
||||||
|
docker:
|
||||||
|
image: plugins/docker
|
||||||
|
secrets: [ docker_username, docker_password ]
|
||||||
|
repo: lucap/drone-netlify
|
||||||
|
auto_tag: true
|
||||||
|
when:
|
||||||
|
event: tag
|
|
@ -0,0 +1,104 @@
|
||||||
|
---
|
||||||
|
date: 2018-02-15T00:00:00+00:00
|
||||||
|
title: Netlify
|
||||||
|
author: lucaperret
|
||||||
|
tags: [ deploy, netlify ]
|
||||||
|
repo: lucaperret/drone-netlify
|
||||||
|
logo: netlify.svg
|
||||||
|
image: lucap/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:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
pipeline:
|
||||||
|
netlify:
|
||||||
|
image: lucap/drone-netlify
|
||||||
|
token: xxxxx
|
||||||
|
site_id: xxxxxxx-xxxx-xxx-xxxxxxxx
|
||||||
|
```
|
||||||
|
|
||||||
|
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
|
|
@ -0,0 +1,16 @@
|
||||||
|
FROM node:alpine
|
||||||
|
|
||||||
|
LABEL maintainer="Luca Perret <perret.luca@gmail.com>"
|
||||||
|
LABEL org.label-schema.version=latest
|
||||||
|
LABEL org.label-schema.vcs-url="https://github.com/lucaperret/drone-netlify"
|
||||||
|
LABEL org.label-schema.name="drone-netlify"
|
||||||
|
LABEL org.label-schema.description="Deploying to netlify with Drone CI"
|
||||||
|
LABEL org.label-schema.vendor="Luca Perret"
|
||||||
|
LABEL org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
|
RUN npm install -g netlify-cli
|
||||||
|
|
||||||
|
ADD script.sh /bin/
|
||||||
|
RUN chmod +x /bin/script.sh
|
||||||
|
|
||||||
|
ENTRYPOINT /bin/script.sh
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2018 Luca
|
Copyright (c) 2018 Luca Perret
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
# Drone-netlify
|
||||||
|
|
||||||
|
![Netlify logo](netlify.png?raw=true "netlify.com")
|
||||||
|
|
||||||
|
[![Docker Pulls](https://img.shields.io/docker/pulls/lucap/drone-netlify.svg)](https://hub.docker.com/r/lucap/drone-netlify/)
|
||||||
|
[![Image](https://images.microbadger.com/badges/image/lucap/drone-netlify.svg)](https://microbadger.com/images/lucap/drone-netlify "Get your own image badge on microbadger.com")
|
||||||
|
[![GitHub release](https://img.shields.io/github/release/lucaperret/drone-netlify.svg)](https://github.com/lucaperret/drone-netlify/releases/latest)
|
||||||
|
|
||||||
|
Deploying to [Netlify](https://netlify.com) with [Drone](https://drone.io) CI.
|
||||||
|
|
||||||
|
Use case examples:
|
||||||
|
|
||||||
|
- Automatically create staging deployments for pull requests
|
||||||
|
- Automatically deploy and alias upon pushes to master
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
For the usage information and a listing of the available options please take a look at [the docs](DOCS.md).
|
||||||
|
|
||||||
|
There are two ways to deploy.
|
||||||
|
|
||||||
|
### From docker
|
||||||
|
|
||||||
|
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
|
||||||
|
-v $(pwd):$(pwd) \
|
||||||
|
-w $(pwd) \
|
||||||
|
lucap/drone-netlify
|
||||||
|
```
|
||||||
|
|
||||||
|
### From Drone CI
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
pipeline:
|
||||||
|
netlify:
|
||||||
|
image: lucap/drone-netlify
|
||||||
|
token: xxxxx
|
||||||
|
site_id: xxxxxxx-xxxx-xxx-xxxxxxxx
|
||||||
|
site_name: netlify-subdomain
|
||||||
|
```
|
Binary file not shown.
After Width: | Height: | Size: 127 KiB |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
NETLIFY_SITE=""
|
||||||
|
NETLIFY_DEPLOY_OPTIONS=""
|
||||||
|
NETLIFY_UPDATE_OPTIONS=""
|
||||||
|
|
||||||
|
if [ -n "$PLUGIN_ENVIRONMENT" ]
|
||||||
|
then
|
||||||
|
NETLIFY_DEPLOY_OPTIONS="-e ${PLUGIN_ENVIRONMENT}"
|
||||||
|
NETLIFY_UPDATE_OPTIONS="${NETLIFY_DEPLOY_OPTIONS}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PLUGIN_PATH" ]
|
||||||
|
then
|
||||||
|
NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} -p ${PLUGIN_PATH}"
|
||||||
|
else
|
||||||
|
NETLIFY_DEPLOY_OPTIONS="${NETLIFY_DEPLOY_OPTIONS} -p ./"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PLUGIN_SITE_ID" ] && [ -n "$PLUGIN_TOKEN" ]
|
||||||
|
then
|
||||||
|
NETLIFY_SITE="-t $PLUGIN_TOKEN -s $PLUGIN_SITE_ID"
|
||||||
|
echo "> Deploying on Netlify…" &&
|
||||||
|
netlify $NETLIFY_SITE deploy $NETLIFY_DEPLOY_OPTIONS;
|
||||||
|
else
|
||||||
|
echo "> Error! site_id and token are required"
|
||||||
|
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
|
||||||
|
|
||||||
|
echo $'\n'"> Successfully deployed!"$'\n'
|
Loading…
Reference in New Issue