Jenkins PHP 部署示例

搭建 Jenkins

在本地搭建 Jenkins.

参考 jenkins 安装

配置 SSH

配置 ssh, 程序在 Jenkins 服务器打包完之后,发布到目标服务器上.

Manage Jenkins -> Configure System -> Publish over SSH -> Add

selection_011

这里需要特别注意的是 Remote Directory.

此目录必须存在,不会自动创建. 而且发布机(Jenkins)只能将文件放在此目录下.

配置项目

  • 创建一个项目

selection_012

  • 输入项目名字,选择 Freestyle project

selection_013

  • 添加项目仓库

selection_014

  • 配置构建

selection_015

selection_016

project=blog
desc_name=/tmp/$project.$BUILD_ID.$BUILD_NUMBER.tar.gz

composer install --no-dev

tar -cvz  --exclude='.git' --exclude=$desc_name -f $desc_name .
mv $desc_name .

这里使用 . 而不是 ./*, ./* 不会压缩隐藏文件
项目里会包含配置文件 .env.example 这种隐藏文件.

  • 构建完之后,发布到目标服务器

selection_017

selection_018

PREFIX=/data/www
LIB=$PREFIX/lib

TIME=$(date +%Y%m%d%H%M%S)

DESC_NAME=blog."$TIME"
DESC=$LIB/$DESC_NAME

LINK_NAME=blog
LINK_DESC=$PREFIX/$LINK_NAME

mkdir -p $DESC
tar -xzf /tmp/demo/blog.$BUILD_ID.$BUILD_NUMBER.tar.gz -C $DESC
cd $DESC
cp .env.example .env

ln -snf $DESC $LINK_DESC

配置完成,保存,点击 Build Now 就可以了.

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2
AlicFeng

使用Drone + Gogs 基于Docker构建CICD,既轻量级、简洁,搭建又简单笔记
https://github.com/alicfeng/gogs-drone-docker

1个月前

@AlicFeng 后面学习 docker 之后,重新用 docker 构建了 ,方便很多,你说的那种方式没了解过,有机会的话再尝试,谢谢分享.

1个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!