This simple action uses the vanilla AWS CLI to sync a directory (either from your repository or generated during your workflow) with a remote S3 bucket.
workflow.yml
ExamplePlace in a .yml
file such as this one in your .github/workflows
folder. Refer to the documentation on workflow YAML syntax here.
As of v0.3.0, all aws s3 sync
flags are optional to allow for maximum customizability (that's a word, I promise) and must be provided by you via args:
.
--acl public-read
makes your files publicly readable (make sure your bucket settings are also set to public).--follow-symlinks
won't hurt and fixes some weird symbolic link problems that may come up.--delete
permanently deletes files in the S3 bucket that are not present in the latest version of your repository/build.--exclude '.git/*'
prevents your .git
folder from syncing, which would expose your source code history if your project is closed-source. (To exclude more than one pattern, you must have one --exclude
flag per exclusion. The single quotes are also important!)name: Upload Website
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: 'us-west-1' # optional: defaults to us-east-1
SOURCE_DIR: 'public' # optional: defaults to entire repository
The following settings must be passed as environment variables as shown in the example. Sensitive information, especially AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
, should be set as encrypted secrets — otherwise, they'll be public to anyone browsing your repository's source code and CI logs.
Key | Value | Suggested Type | Required | Default |
---|---|---|---|---|
AWS_ACCESS_KEY_ID |
Your AWS Access Key. More info here. | secret env |
Yes | N/A |
AWS_SECRET_ACCESS_KEY |
Your AWS Secret Access Key. More info here. | secret env |
Yes | N/A |
AWS_S3_BUCKET |
The name of the bucket you're syncing to. For example, jarv.is or my-app-releases . |
secret env |
Yes | N/A |
AWS_REGION |
The region where you created your bucket. Set to us-east-1 by default. Full list of regions here. |
env |
No | us-east-1 |
AWS_S3_ENDPOINT |
The endpoint URL of the bucket you're syncing to. Can be used for VPC scenarios or for non-AWS services using the S3 API, like DigitalOcean Spaces. | env |
No | Automatic (s3.amazonaws.com or AWS's region-specific equivalent) |
SOURCE_DIR |
The local directory (or file) you wish to sync/upload to S3. For example, public . Defaults to your entire repository. |
env |
No | ./ (root of cloned repository) |
DEST_DIR |
The directory inside of the S3 bucket you wish to sync/upload to. For example, my_project/assets . Defaults to the root of the bucket. |
env |
No | / (root of bucket) |
This project is distributed under the MIT license.
说明 最近买了块 esp32-s3 的最小开发板,YD-esp32。本想着开发环境跟着官方文档走应该很愉快,没想到一波三折,在这里记录一下。 我是在 Ubuntu18.04 上搭环境,如果你是其他系统,可能会碰到其他问题,或者不会碰到我遇到的问题。 下载 esp-idf 源码 首先第一步下载源码就出了问题,下载不成功。我参考的官方文档链接如下 https://docs.espressif.com/
GitHub Actions简介 每一个repo可以配置多个workflow,每一个workflow都有对应的.yml文件,存放在repo的.github/workflows路径下。使用git操作时,GitHub识别到该路径下的yml文件就开始自动运行。 GitHub Actions构成 GitHub Actions的一次持续集成或持续部署由workflow、job、step、action构成,四
static struct s3c_ts_mach_info s3c_ts_platform __initdata = { .delay = 10000, /*转化延迟*/ .presc = 49, /*转化时钟分频*/ .oversampling_shift = 2, /*转化次数 1<<2 == 4次*/ .resol_bit = 12, /*转化进度*/
如果您正在研究大数据及其最新技术(如Hadoop等),那么您需要的首要工作是“数据集”。 因此,此数据可以是评论,博客,新闻,社交媒体数据(Twitter,Facebook等),特定领域数据,研究数据,论坛,组,提要,消防水带数据等。通常,公司会与数据供应商联系以获取此类数据一种数据。 通常,这些数据供应商将数据转储到共享服务器类型的环境中。 为了使我们可以将此数据用于MapReduce的处理,我
转自:https://blog.csdn.net/csdnhxs/article/details/80205831 亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知。 编者按:本文系InfoQ中文站向陈天的约稿,这是AWS系列文章的第二篇。以后会有更多文章刊出,但并无前后依赖的关系,每篇都自成一体。读者若要跟随文章来学习AWS,应该至少注
安装 AWS CLI 工具 安装条件:Python 2 version 2.7+ or Python 3 version 3.4+ 安装 AWS CLI 工具的命令 pip3 install -U --user awscli aws_role_credentials oktaauth # -U (update)表示更新所有的包到最新 # --user 表示安装到用户目录下,例如 ~/.local
sync(将缓冲区数据写回磁盘) 相关函数 fsync 表头文件 #include<unistd.h> 定义函数 int sync(void) 函数说明 sync()负责将系统缓冲区数据写回磁盘,以确保数据同步。 返回值 返回0。 范例: 无
SYNC 用于复制功能(replication)的内部命令。 更多信息请参考 Redis 官网的 Replication 章节 。 可用版本: >= 1.0.0 时间复杂度: 不明确 返回值: 不明确 redis> SYNC "REDIS0002\xfe\x00\x00\auser_id\xc0\x03\x00\anumbers\xc2\xf3\xe0\x01\x00\x00\tdb_number
描述 (Description) 它使用Backbone.sync将集合的状态持久保存到服务器。 语法 (Syntax) collection.sync(method, collection, options) 参数 (Parameters) method - 它表示CRUD操作,如创建,读取,更新和删除。 collection - 它包含一组用于保存集合中数据的模型。 options - 根据
描述 (Description) 它可用于与服务器通信并表示模型的状态。 语法 (Syntax) model.sync(method,model,options) 参数 (Parameters) method - 它表示CRUD操作,如创建,读取,更新和删除。 model - 用于保存模型上的数据。 options - 根据成功的方法触发成功或错误消息。 例子 (Example) <!DOCTY
它用于将模型的状态持久保存到服务器。 下表列出了可用于操作BackboneJS-Sync - S.No. 方法和描述 1 Backbone.sync 它将模型的状态持久保存到服务器。 2 Backbone.ajax 它定义了自定义ajax函数。 3 Backbone.emulateHTTP 如果您的Web服务器不支持REST或HTTP方法,请打开Backbone.emulateHTTP。 4 Ba
import "sync" sync包提供了基本的同步基元,如互斥锁。除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些。 本包的类型的值不应被拷贝。 type Locker type Once func (o *Once) Do(f func()) type Mutex func (m *Mutex) Lock() func (m *