惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
U
Unit 42
MyScale Blog
MyScale Blog
B
Blog
阮一峰的网络日志
阮一峰的网络日志
量子位
IT之家
IT之家
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Recent Announcements
Recent Announcements
V
Visual Studio Blog
G
Google Developers Blog
Last Week in AI
Last Week in AI
雷峰网
雷峰网
博客园 - 聂微东
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
博客园 - 司徒正美
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏

Pressable

Pressable Achieves Secure Hosting Alliance Certification | Pressable How Pressable MCP Is Changing The Game For WordPress Agencies: A Live Breakdown With Matt Medeiros And Phill Clapham | Pressable April Product Update: Navigation, Organization, And Efficiency | Pressable White-Label WordPress Hosting For Profitable Agencies | Pressable A Guide To Client Onboarding For WordPress Agencies| Pressable WordPress Plugin Management For Scalable Agencies | Pressable WordPress Maintenance Contracts For Agencies: A Complete Guide | Pressable 6 Essential SOPs For WordPress Agencies | Pressable Pressable MCP: Control Your WordPress Hosting With AI. | Pressable WordPress Hosting Cost: Pricing Tiers And What To Expect | Pressable WordPress Performance Budgets: Setting And Monitoring Goals | Pressable WordPress Automation With No Code Automation Tools | Pressable Implement Single Sign-On (SSO) In WordPress | Pressable How To Build A Real Estate Site On WordPress | Pressable Headless WordPress Showdown: Next.js Vs Gatsby | Pressable How To Automate White-Label WordPress Hosting With WHMCS | Pressable Developer Toolkit Update: Automation & UI Enhancements | Pressable How To Build A DXP Platform With WordPress How To Boost WordPress Agency Client Retention: 4 Strategies White Label WordPress Admin For Agency Clients Performance Testing For WordPress Agency Client Sites Performance Testing For WordPress: A Framework For Agency Client Sites How To Upload A Video To WordPress | Pressable How To Mitigate The Impact Of AI Scraper Bots On WordPress Sites WooCommerce ERP Integration: Automate Your Back Office WordPress Personalization: How To Display Tailored Content To Visitors | Pressable WooCommerce Conversion Rate Optimization: A Data-Driven Approach How To Price Your Online Course: WordPress Monetization Guide 7 Ecommerce KPIs You Should Be Measuring | Pressable WooCommerce Vs. BigCommerce: Which Is Best For Your Business Needs? | Pressable WooCommerce Performance Troubleshooting: Diagnosing Speed Issues Step-by-Step | Pressable
How To Deploy WordPress With GitHub, CircleCI, And SFTP
Amanda Nadhir · 2018-11-18 · via Pressable

Web developer working on laptop

Ask Your Favorite AI

Copy the link to a markdown format of this article for ChatGPT, Claude, Gemini, or your favorite AI.

The tutorial will focus on setting up CircleCI config.yml file to deploy the master branch of a GitHub repository via SFTP.

To follow along with this tutorial you will need:

1. A theme or plugin that you would like to deploy. Here is a guide to WordPress plugins if you need some recommendations.

2. Have this theme/plugin in an already existing GitHub repository.

3. An account at CircleCI, which requires you to login using your GitHub (or BitBucket) account.

Setting Up CircleCI

Once logged in to CircleCI, you will want to add a new project by clicking “Add Projects” on the left hand side navigation menu.

From here, you will be presented with a list of repositories in your GitHub account. Choose the repository for the theme or plugin you’d like to deploy and click “Set Up Project.” In the image below, the pressable-theme project is being set up for use in this tutorial.

CircleCI dashboard for setting up a project.

From here, you will be presented with a configuration screen. Choose “Linux” as the Operating System, “PHP” or “Other” as the Language, and then click “Start Building” on the bottom right hand corner.

We will be using a custom config.yml file, so you can safely ignore the one that gets generated for you by the site.

CircleCI deployment dashboard with build, operating system, and language options.

After this, you will need to configure a few variables that will get used by CircleCI to make connections and know where to place your plugin or theme.

You’ll need to click the settings cog on the project that you are wanting to configure variables for. In the image below, the settings cog for the pressable-theme project is selected.

CircleCI project settings button.

From here, click on the “Environment Variables” menu item under the “Build Settings” menu header. Then, click on “Add Variable” and add the following variables:

  • hostname with value sftp.pressable.com
  • username with value set to your Pressable SFTP username.
  • password with value set to your Pressable SFTP password.
  • site_name with value set to the Pressable site name you are deploying to.
  • theme or plugin with value set to the name of the theme or plugin you are deploying. (Ex. pressable-theme in the case of this tutorial)

Setting Up Repository

From here, we need to add our config.yml file to the repository you want to deploy. In order to do this, you will need to create a directory named .circleci in the root of your repository. Inside that directory, you will create a new file named config.yml. In the following config.yml file, you will want to replace /wp-content/themes/ with /wp-content/plugins and ${theme} with ${plugin} if you are deploying a plugin.

Place the following inside the config.yml file:

Once the config.yml file is created inside the .circleci directory, you can make a push to your repository. CircleCI will see the push you made and will fire off a job using the config.yml file as instructions on what to do and where to deploy.

If you visit the CircleCI interface after making a push to master, you can see it spinning up the environment and deploying the repository.

From here, you can add other features to config.yml to make your CI setup complete.

Amanda Nadhir

With over a decade of experience in the tech industry, Amanda's experience demonstrates her sales expertise. Her commitment to building, training, and guiding high-performing teams has been instrumental in driving Pressable's success. Amanda's extensive background in sales and marketing, coupled with her sharp business acumen, has made her an invaluable asset to the tech community. Her ability to identify and foster talent, combined with her passion for developing winning sales strategies, has propelled her to the forefront of the industry. When she's not expertly navigating the tech sales landscape, she loves spending quality time with her family, loves travel and adventure, lounging pool/beach-side, playing tennis, working out, and meeting people/making friends all along the way!