mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-11-25 11:21:02 +00:00
Add gitpod setup (#1020)
Adding [Gitpod](https://github.com/gitpod-io/gitpod) allows us and others to easily start a complete Woodpecker setup and development cloud IDE. It starts a Woodpecker server, agent and a preconfigured Gitea instance. You can login at Gitea with `woodpecker` and `password`.
This commit is contained in:
parent
01bfbba458
commit
5557674835
5 changed files with 161 additions and 12 deletions
79
.gitpod.yml
Normal file
79
.gitpod.yml
Normal file
|
@ -0,0 +1,79 @@
|
|||
tasks:
|
||||
- name: Server
|
||||
env:
|
||||
WOODPECKER_OPEN: true
|
||||
WOODPECKER_ADMIN: woodpecker
|
||||
WOODPECKER_HOST: http://host.docker.internal:8000
|
||||
WOODPECKER_SECRET: "1234"
|
||||
WOODPECKER_GITEA: true
|
||||
WOODPECKER_DEV_WWW_PROXY: http://localhost:8010
|
||||
WOODPECKER_BACKEND_DOCKER_NETWORK: ci_default
|
||||
init: |
|
||||
go mod tidy
|
||||
mkdir -p web/dist
|
||||
touch web/dist/index.html
|
||||
echo WOODPECKER_GITEA_URL=https://3000-${GITPOD_WORKSPACE_ID}.${GITPOD_WORKSPACE_CLUSTER_HOST} >> .env
|
||||
echo WOODPECKER_DEV_OAUTH_HOST=https://8000-${GITPOD_WORKSPACE_ID}.${GITPOD_WORKSPACE_CLUSTER_HOST} >> .env
|
||||
gp sync-await gitea
|
||||
gp sync-done woodpecker-server
|
||||
command: go run github.com/woodpecker-ci/woodpecker/cmd/server
|
||||
- name: Agent
|
||||
env:
|
||||
WOODPECKER_SERVER: localhost:9000
|
||||
WOODPECKER_SECRET: "1234"
|
||||
WOODPECKER_MAX_PROCS: 1
|
||||
WOODPECKER_HEALTHCHECK: false
|
||||
init: |
|
||||
gp sync-await woodpecker-server
|
||||
command: go run github.com/woodpecker-ci/woodpecker/cmd/agent
|
||||
- name: Gitea
|
||||
command: |
|
||||
export DOCKER_COMPOSE_CMD="docker-compose -f docker-compose.gitpod.yml -p woodpecker"
|
||||
export GITEA_CLI_CMD="$DOCKER_COMPOSE_CMD exec -u git gitea gitea"
|
||||
$DOCKER_COMPOSE_CMD up -d
|
||||
sleep 10s
|
||||
$GITEA_CLI_CMD admin user create --username woodpecker --password password --email woodpecker@localhost --admin
|
||||
export GITEA_TOKEN=$($GITEA_CLI_CMD admin user generate-access-token -u woodpecker --raw)
|
||||
GITEA_OAUTH_APP=$(curl -X 'POST' 'http://localhost:3000/api/v1/user/applications/oauth2' \
|
||||
-H 'accept: application/json' -H 'Content-Type: application/json' -H "Authorization: token ${GITEA_TOKEN}" \
|
||||
-d "{ \"name\": \"Woodpecker CI\", \"redirect_uris\": [ \"https://8000-${GITPOD_WORKSPACE_ID}.${GITPOD_WORKSPACE_CLUSTER_HOST}/authorize\" ] }")
|
||||
echo WOODPECKER_GITEA_CLIENT=$(echo $GITEA_OAUTH_APP | jq -r .client_id) >> .env
|
||||
echo WOODPECKER_GITEA_SECRET=$(echo $GITEA_OAUTH_APP | jq -r .client_secret) >> .env
|
||||
gp sync-done gitea
|
||||
$DOCKER_COMPOSE_CMD logs -f
|
||||
- name: App
|
||||
init: |
|
||||
cd web/
|
||||
yarn install
|
||||
command: yarn start
|
||||
- name: Docs
|
||||
init: |
|
||||
cd docs/
|
||||
yarn install
|
||||
yarn build:woodpecker-plugins
|
||||
command: yarn start --port 4000
|
||||
|
||||
ports:
|
||||
- port: 3000
|
||||
onOpen: ignore
|
||||
visibility: public # TODO: https://github.com/woodpecker-ci/woodpecker/issues/856
|
||||
- port: 8000
|
||||
onOpen: notify
|
||||
visibility: public # TODO: https://github.com/woodpecker-ci/woodpecker/issues/856
|
||||
- port: 9000
|
||||
onOpen: ignore
|
||||
- port: 8010
|
||||
onOpen: ignore
|
||||
- port: 4000
|
||||
onOpen: notify
|
||||
|
||||
vscode:
|
||||
extensions:
|
||||
- "golang.go"
|
||||
- "EditorConfig.EditorConfig"
|
||||
- "dbaeumer.vscode-eslint"
|
||||
- "esbenp.prettier-vscode"
|
||||
- "voorjaar.windicss-intellisense"
|
||||
- "johnsoncodehk.volar"
|
||||
- "redhat.vscode-yaml"
|
||||
- "davidanson.vscode-markdownlint"
|
25
README.md
25
README.md
|
@ -1,6 +1,6 @@
|
|||
<p align="center">
|
||||
<a href="https://github.com/woodpecker-ci/woodpecker/">
|
||||
<img alt="Woodpecker" src="https://raw.githubusercontent.com/woodpecker-ci/woodpecker/master/docs/static/img/logo.svg" width="220"/>
|
||||
<img alt="Woodpecker" src="docs/static/img/logo-auto-darkmode.svg" width="220"/>
|
||||
</a>
|
||||
</p>
|
||||
<br/>
|
||||
|
@ -44,12 +44,13 @@
|
|||
|
||||
![woodpecker](docs/docs/woodpecker.png)
|
||||
|
||||
## Support
|
||||
## 🫶 Support
|
||||
|
||||
Please consider to donate and become a backer. 🙏 [[Become a backer](https://opencollective.com/woodpecker-ci#category-CONTRIBUTE)]
|
||||
|
||||
<a href="https://opencollective.com/woodpecker-ci" target="_blank"><img src="https://opencollective.com/woodpecker-ci/backers.svg?width=890"></a>
|
||||
|
||||
## Usage
|
||||
## 🚀 Usage
|
||||
|
||||
### .woodpecker.yml
|
||||
|
||||
|
@ -72,22 +73,23 @@ Woodpecker has [official plugins](https://woodpecker-ci.org/plugins), but you ca
|
|||
|
||||
[Read More](https://woodpecker-ci.org/docs/usage/plugins/plugins)
|
||||
|
||||
## Documentation
|
||||
## 📖 Documentation
|
||||
|
||||
https://woodpecker-ci.org/
|
||||
|
||||
## Contribution
|
||||
## ✨ Contribute
|
||||
|
||||
See [Contributing Guide](CONTRIBUTING.md)
|
||||
|
||||
## Who uses Woodpecker?
|
||||
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://woodpecker-ci.org/docs/development/getting-started#preparation-for-local-development)
|
||||
|
||||
[Codeberg](https://codeberg.org), the woodpecker project itself, and many others.
|
||||
## 👋 Who uses Woodpecker?
|
||||
|
||||
Leave a [comment](https://github.com/woodpecker-ci/woodpecker/issues/122) if you're using it.
|
||||
[Codeberg](https://codeberg.org), the Woodpecker project itself, and many others.
|
||||
|
||||
Also consider using the topic `WoodpeckerCI` in your repository, so others can learn
|
||||
from your config and use the hashtag `#WoodpeckerCI` when talking about the project on social media!
|
||||
Leave a [comment](https://github.com/woodpecker-ci/woodpecker/issues/122) if you're using it as well.
|
||||
|
||||
Also consider using the topic `WoodpeckerCI` in your repository, so others can learn from your config and use the hashtag `#WoodpeckerCI` when talking about the project on social media!
|
||||
|
||||
Here are some places where people mention Woodpecker:
|
||||
|
||||
|
@ -96,7 +98,8 @@ Here are some places where people mention Woodpecker:
|
|||
- [Twitter](https://twitter.com/hashtag/WoodpeckerCI?f=live)
|
||||
- [Fediverse](https://mastodon.social/tags/WoodpeckerCI)
|
||||
|
||||
## Stars over time
|
||||
## ✨ Stars over time
|
||||
|
||||
[![Stargazers over time](https://starchart.cc/woodpecker-ci/woodpecker.svg)](https://starchart.cc/woodpecker-ci/woodpecker)
|
||||
|
||||
## License
|
||||
|
|
41
docker-compose.gitpod.yml
Normal file
41
docker-compose.gitpod.yml
Normal file
|
@ -0,0 +1,41 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
gitea-database:
|
||||
image: postgres:12.6-alpine
|
||||
environment:
|
||||
POSTGRES_USER: gitea
|
||||
POSTGRES_PASSWORD: 123456
|
||||
POSTGRES_DB: gitea
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
volumes:
|
||||
- pgsql:/var/lib/postgresql/data/pgdata
|
||||
|
||||
gitea:
|
||||
image: gitea/gitea:dev
|
||||
ports:
|
||||
- 3000:3000
|
||||
volumes:
|
||||
- gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
depends_on:
|
||||
- gitea-database
|
||||
environment:
|
||||
USER_UID: 1000
|
||||
USER_GID: 1000
|
||||
# GITEA__server__DOMAIN: gitea.local.self
|
||||
GITEA__server__ROOT_URL: http://gitea:3000
|
||||
GITEA__database__DB_TYPE: postgres
|
||||
GITEA__database__HOST: gitea-database:5432
|
||||
GITEA__database__NAME: gitea
|
||||
GITEA__database__USER: gitea
|
||||
GITEA__database__PASSWD: 123456
|
||||
GITEA__webhook__ALLOWED_HOST_LIST: "*"
|
||||
GITEA__security__INSTALL_LOCK: "true"
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
volumes:
|
||||
gitea:
|
||||
pgsql:
|
|
@ -1,6 +1,22 @@
|
|||
# Getting started
|
||||
|
||||
## Preparation
|
||||
You can develop on your local computer by following the [steps below](#preparation-for-local-development) or you can start with a fully prepared online setup using [Gitpod](https://github.com/gitpod-io/gitpod) and [Gitea](https://github.com/go-gitea/gitea).
|
||||
|
||||
## Gitpod
|
||||
|
||||
If you want to start development or updating docs as easy as possible you can use our preconfigured setup for Woodpecker using [Gitpod](https://github.com/gitpod-io/gitpod). Gitpod starts a complete development setup in the cloud containing:
|
||||
|
||||
- An IDE in the browser or bridged to your local VS-Code or Jetbrains
|
||||
- A preconfigured [Gitea](https://github.com/go-gitea/gitea) instance as forge
|
||||
- A preconfigured Woodpecker server
|
||||
- A single preconfigured Woodpecker agent node
|
||||
- Our docs preview server
|
||||
|
||||
Simply start Woodpecker in Gitpod by clicking on the following badge. You can login with `woodpecker` and `password`.
|
||||
|
||||
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/woodpecker-ci/woodpecker)
|
||||
|
||||
## Preparation for local development
|
||||
|
||||
### Install Go
|
||||
|
||||
|
|
10
docs/static/img/logo-auto-darkmode.svg
vendored
Normal file
10
docs/static/img/logo-auto-darkmode.svg
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
path {
|
||||
fill: white;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<path d="M1.263 2.744C2.41 3.832 2.845 4.932 4.118 5.08l.036.007c-.588.606-1.09 1.402-1.443 2.423-.38 1.096-.488 2.285-.614 3.659-.19 2.046-.401 4.364-1.556 7.269-2.486 6.258-1.12 11.63.332 17.317.664 2.604 1.348 5.297 1.642 8.107a.857.857 0 00.633.744.86.86 0 00.922-.323c.227-.313.524-.797.86-1.424.84 3.323 1.355 6.13 1.783 8.697a.866.866 0 001.517.41c2.88-3.463 3.763-8.636 2.184-12.674.459-2.433 1.402-4.45 2.398-6.583.536-1.15 1.08-2.318 1.55-3.566.228-.084.569-.314.79-.441l1.707-.981-.256 1.052a.864.864 0 001.678.408l.68-2.858 1.285-2.95a.863.863 0 10-1.581-.687l-1.152 2.669-2.383 1.372a18.97 18.97 0 00.508-2.981c.432-4.86-.718-9.074-3.066-11.266-.163-.157-.208-.281-.247-.26.095-.12.249-.26.358-.374 2.283-1.693 6.047-.147 8.319.75.589.232.876-.337.316-.67-1.95-1.153-5.948-4.196-8.188-6.193-.313-.275-.527-.607-.89-.913C9.825.555 4.072 3.057 1.355 2.569c-.102-.018-.166.103-.092.175m10.98 5.899c-.06 1.242-.603 1.8-1 2.208-.217.224-.426.436-.524.738-.236.714.008 1.51.66 2.143 1.974 1.84 2.925 5.527 2.538 9.86-.291 3.288-1.448 5.763-2.671 8.385-1.031 2.207-2.096 4.489-2.577 7.259a.853.853 0 00.056.48c1.02 2.434 1.135 6.197-.672 9.46a96.586 96.586 0 00-1.97-8.711c1.964-4.488 4.203-11.75 2.919-17.668-.325-1.497-1.304-3.276-2.387-4.207-.208-.18-.402-.237-.495-.167-.084.06-.151.238-.062.444.55 1.266.879 2.599 1.226 4.276 1.125 5.443-.956 12.49-2.835 16.782l-.116.259-.457.982c-.356-2.014-.85-3.95-1.33-5.84-1.38-5.406-2.68-10.515-.401-16.254 1.247-3.137 1.483-5.692 1.672-7.746.116-1.263.216-2.355.526-3.252.905-2.605 3.062-3.178 4.744-2.852 1.632.316 3.24 1.593 3.156 3.42zm-2.868.62a1.177 1.177 0 10.736-2.236 1.178 1.178 0 10-.736 2.237z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
Loading…
Reference in a new issue