All Projects → mattn → Goemon

mattn / Goemon

五右衛門

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Goemon

K3s Ansible
Ansible playbook to deploy k3s kubernetes cluster
Stars: ✭ 153 (-9.47%)
Mutual labels:  devops
Aws Serverless Cicd Workshop
Learn how to build a CI/CD pipeline for SAM-based applications
Stars: ✭ 158 (-6.51%)
Mutual labels:  devops
Netbox As Ansible Inventory
Ansible dynamic inventory script for Netbox.
Stars: ✭ 161 (-4.73%)
Mutual labels:  devops
Opbeat Node
DEPRECATED - See Elastic APM instead: https://github.com/elastic/apm-agent-nodejs
Stars: ✭ 155 (-8.28%)
Mutual labels:  devops
Nodejs Roadmap
【Nodejs-Roadmap】侧重于 Node.js 服务端的开发指南,公众号 “Nodejs技术栈”
Stars: ✭ 2,278 (+1247.93%)
Mutual labels:  devops
Syncd
syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率.
Stars: ✭ 2,065 (+1121.89%)
Mutual labels:  devops
Maratona Kubernetes
Repositório de código de demonstrações da Maratona Kubernetes 🇧🇷
Stars: ✭ 152 (-10.06%)
Mutual labels:  devops
Python devops book
[Book-2020] Python For DevOps: Learn Ruthlessly Effective Automation
Stars: ✭ 166 (-1.78%)
Mutual labels:  devops
Act
Run your GitHub Actions locally 🚀
Stars: ✭ 19,915 (+11684.02%)
Mutual labels:  devops
Abbreviate
Supporting your devops by shortening your strings using common abbreviations and clever guesswork
Stars: ✭ 160 (-5.33%)
Mutual labels:  devops
Ansible Vagrant Examples
Ansible examples using Vagrant to deploy to local VMs.
Stars: ✭ 1,913 (+1031.95%)
Mutual labels:  devops
List Lambdas
Enumerate Lambda functions across all regions with useful metadata 💡💵⚙
Stars: ✭ 156 (-7.69%)
Mutual labels:  devops
Ghactions
GitHub actions for R and accompanying R package
Stars: ✭ 159 (-5.92%)
Mutual labels:  devops
Juju
Universal Operator Lifecycle Manager (OLM) for Kubernetes operators, and operators for traditional Linux and Windows apps, with declarative integration between operators for automated microservice integration.
Stars: ✭ 1,942 (+1049.11%)
Mutual labels:  devops
Devshop
Open Source DevOps Framework
Stars: ✭ 161 (-4.73%)
Mutual labels:  devops
Sshmon
Manage and monitor SSH connections.
Stars: ✭ 152 (-10.06%)
Mutual labels:  devops
Maven Project
Source code for James Lee's Jenkins course
Stars: ✭ 158 (-6.51%)
Mutual labels:  devops
Solo Ci
A lightweight CI/CD tool powered by Golang
Stars: ✭ 168 (-0.59%)
Mutual labels:  devops
Mobile.buildtools
The Mobile.BuildTools makes it easier to develop code bases in a clean, consistent, secure, and configurable way. Determine at Build which environment your app needs to run on, and what Client Secrets it should have. Plus many more amazing features!
Stars: ✭ 162 (-4.14%)
Mutual labels:  devops
Tecli
In a world where everything is Terraform, teams use Terraform Cloud API to manage their workloads. TECLI increases teams productivity by facilitating such interaction and by providing easy commands that can be executed on a terminal or on CI/CD systems.
Stars: ✭ 158 (-6.51%)
Mutual labels:  devops

goemon

Go Extensible Monitoring

Speed up your development. If you updated js files, the page should be reloaded. If you updated go files, the app should be recompiled, and should be restarted. And also, the page should be reloaded

Expected directory structure

+---assets
|   +- index.html
|   +- app.css
|   +- app.js
+- main.go

Usage

For example:

Run web server

$ goemon -g > goemon.yml
$ goemon go run main.go

Writing markdown

$ goemon -g md > goemon.yml
$ goemon --

Writing C code

$ goemon -g c > goemon.yml
$ goemon --

Default configuration

# Generated by goemon -g
livereload: :35730
tasks:
- match: './assets/*.js'
  commands:
  - minifyjs -m -i ${GOEMON_TARGET_FILE} > ${GOEMON_TARGET_DIR}/${GOEMON_TARGET_NAME}.min.js
  - :livereload /
- match: './assets/*.css'
  commands:
  - :livereload /
- match: './assets/*.html'
  commands:
  - :livereload /
- match: '*.go'
  commands:
  - go build
  - :restart
  - :livereload /
  • match is wildcard. You can use ./foo/bar/**/*.js like a shell.
  • commands is list of commands to run. :XXX is internal command.
Internal Command Behavior
:livereload /path reload path
:minify minify js/css(work in progress)
:restart restart app
:sleep 3000 sleep 3000ms
:fizzbuzz 100 do fizzbuzz(1 to 100)
:event :Foo fire event :Foo

:event :Foo fire event defined - match: :Foo.

Currently, :minify is work in progress. So you should run minifyjs command to do it. For example, configuration in above works as below.

Pattern Behavior
./assets/*.css reload page
./assets/*.js minify js/css, reload page
./assets/*.html reload page
./assets/*.go build, restart app, reload page

LiveReload

You can use livereload feature.

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <script src="http://localhost:35730/livereload.js"></script>
  <script src="/app.css"></script>
  <script src="/app.min.js"></script>
  <title>Your App</title>
</head>
<body>
<!-- Your Code -->  
</body>
</html>

Use goemon as library

cat > goemon.go
package main

import (
	_ "github.com/mattn/goemon/auto"
)
^D

Then go build. You don't need to use goemon command.

Installation

$ go get github.com/mattn/goemon/cmd/goemon

If you want to minify js, install minifyjs like below.

$ npm install -g minifyjs

License

MIT

Author

Yasuhiro Matsumoto (a.k.a mattn)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].