GithubHelp home page GithubHelp logo

isabella232 / test-setups Goto Github PK

View Code? Open in Web Editor NEW

This project forked from appsignal/test-setups

0.0 0.0 0.0 3.59 MB

AppSignal test setups

Ruby 45.69% Dockerfile 2.13% Elixir 13.28% SCSS 0.64% CSS 5.07% JavaScript 11.38% HTML 16.69% Shell 2.89% Pug 0.22% TypeScript 1.48% Vue 0.47% Handlebars 0.04% Procfile 0.02%

test-setups's Introduction

Test setups

Run test setups using Docker, requirements to run this:

  • A recent Docker version that includes Compose.
  • Any 2.0+ version of Ruby

Next, checkout the integrations locally:

rake integrations:clone

Generate an environment file using a valid push api key you can get on AppSignal:

rake global:set_push_api_key key=<key>

To start a test setup:

rake app=elixir/alpine-release app:up
rake app=elixir/phoenix-example app:up
rake app=elixir/single-task app:up
rake app=ruby/jruby-single-task app:up
rake app=ruby/linux-arm app:up
rake app=ruby/padrino app:up
rake app=ruby/rails6-mongo app:up
rake app=ruby/rails6-postgres app:up
rake app=ruby/rails6-sequel app:up
rake app=ruby/rails6-sidekiq app:up
rake app=ruby/shoryuken app:up
rake app=ruby/sinatra app:up
rake app=ruby/sinatra-puma app:up
rake app=ruby/single-task app:up
rake app=ruby/webmachine app:up
rake app=nodejs/express-apollo app:up
rake app=nodejs/express-postgres app:up
rake app=nodejs/express-redis app:up
rake app=nodejs/koa app:up
rake app=nodejs/next-js app:up
rake app=nodejs/open-telemetry app:up
rake app=javascript/Dockerfile app:up
rake app=javascript/ember app:up
rake app=javascript/react app:up
rake app=javascript/typescript-angular app:up
rake app=javascript/vanilla app:up
rake app=javascript/vue-2 app:up
rake app=javascript/vue-3 app:up
rake app=javascript/webpack app:up

This will boot a test environment with AppSignal enabled listening on localhost. The agent log and lock files are accessible in the working_directory.

To restart the app container after making changes to an integration:

rake app=elixir/alpine-release app:restart
rake app=elixir/phoenix-example app:restart
rake app=elixir/single-task app:restart
rake app=ruby/jruby-single-task app:restart
rake app=ruby/linux-arm app:restart
rake app=ruby/padrino app:restart
rake app=ruby/rails6-mongo app:restart
rake app=ruby/rails6-postgres app:restart
rake app=ruby/rails6-sequel app:restart
rake app=ruby/rails6-sidekiq app:restart
rake app=ruby/shoryuken app:restart
rake app=ruby/sinatra app:restart
rake app=ruby/sinatra-puma app:restart
rake app=ruby/single-task app:restart
rake app=ruby/webmachine app:restart
rake app=nodejs/express-apollo app:restart
rake app=nodejs/express-postgres app:restart
rake app=nodejs/express-redis app:restart
rake app=nodejs/koa app:restart
rake app=nodejs/next-js app:restart
rake app=nodejs/open-telemetry app:restart
rake app=javascript/Dockerfile app:restart
rake app=javascript/ember app:restart
rake app=javascript/react app:restart
rake app=javascript/typescript-angular app:restart
rake app=javascript/vanilla app:restart
rake app=javascript/vue-2 app:restart
rake app=javascript/vue-3 app:restart
rake app=javascript/webpack app:restart

To run bash:

rake app=elixir/alpine-release app:bash
rake app=elixir/phoenix-example app:bash
rake app=elixir/single-task app:bash
rake app=ruby/jruby-single-task app:bash
rake app=ruby/linux-arm app:bash
rake app=ruby/padrino app:bash
rake app=ruby/rails6-mongo app:bash
rake app=ruby/rails6-postgres app:bash
rake app=ruby/rails6-sequel app:bash
rake app=ruby/rails6-sidekiq app:bash
rake app=ruby/shoryuken app:bash
rake app=ruby/sinatra app:bash
rake app=ruby/sinatra-puma app:bash
rake app=ruby/single-task app:bash
rake app=ruby/webmachine app:bash
rake app=nodejs/express-apollo app:bash
rake app=nodejs/express-postgres app:bash
rake app=nodejs/express-redis app:bash
rake app=nodejs/koa app:bash
rake app=nodejs/next-js app:bash
rake app=nodejs/open-telemetry app:bash
rake app=javascript/Dockerfile app:bash
rake app=javascript/ember app:bash
rake app=javascript/react app:bash
rake app=javascript/typescript-angular app:bash
rake app=javascript/vanilla app:bash
rake app=javascript/vue-2 app:bash
rake app=javascript/vue-3 app:bash
rake app=javascript/webpack app:bash

To run the console (if implemented in the test app):

rake app=elixir/alpine-release app:console
rake app=elixir/phoenix-example app:console
rake app=elixir/single-task app:console
rake app=ruby/jruby-single-task app:console
rake app=ruby/linux-arm app:console
rake app=ruby/padrino app:console
rake app=ruby/rails6-mongo app:console
rake app=ruby/rails6-postgres app:console
rake app=ruby/rails6-sequel app:console
rake app=ruby/rails6-sidekiq app:console
rake app=ruby/shoryuken app:console
rake app=ruby/sinatra app:console
rake app=ruby/sinatra-puma app:console
rake app=ruby/single-task app:console
rake app=ruby/webmachine app:console
rake app=nodejs/express-apollo app:console
rake app=nodejs/express-postgres app:console
rake app=nodejs/express-redis app:console
rake app=nodejs/koa app:console
rake app=nodejs/next-js app:console
rake app=nodejs/open-telemetry app:console
rake app=javascript/Dockerfile app:console
rake app=javascript/ember app:console
rake app=javascript/react app:console
rake app=javascript/typescript-angular app:console
rake app=javascript/vanilla app:console
rake app=javascript/vue-2 app:console
rake app=javascript/vue-3 app:console
rake app=javascript/webpack app:console

To send in a diagnose (if implemented in the test app);

rake app=elixir/alpine-release app:diagnose
rake app=elixir/phoenix-example app:diagnose
rake app=elixir/single-task app:diagnose
rake app=ruby/jruby-single-task app:diagnose
rake app=ruby/linux-arm app:diagnose
rake app=ruby/padrino app:diagnose
rake app=ruby/rails6-mongo app:diagnose
rake app=ruby/rails6-postgres app:diagnose
rake app=ruby/rails6-sequel app:diagnose
rake app=ruby/rails6-sidekiq app:diagnose
rake app=ruby/shoryuken app:diagnose
rake app=ruby/sinatra app:diagnose
rake app=ruby/sinatra-puma app:diagnose
rake app=ruby/single-task app:diagnose
rake app=ruby/webmachine app:diagnose
rake app=nodejs/express-apollo app:diagnose
rake app=nodejs/express-postgres app:diagnose
rake app=nodejs/express-redis app:diagnose
rake app=nodejs/koa app:diagnose
rake app=nodejs/next-js app:diagnose
rake app=nodejs/open-telemetry app:diagnose
rake app=javascript/Dockerfile app:diagnose
rake app=javascript/ember app:diagnose
rake app=javascript/react app:diagnose
rake app=javascript/typescript-angular app:diagnose
rake app=javascript/vanilla app:diagnose
rake app=javascript/vue-2 app:diagnose
rake app=javascript/vue-3 app:diagnose
rake app=javascript/webpack app:diagnose

Tail the appsignal log:

rake app=elixir/alpine-release app:tail:appsignal
rake app=elixir/phoenix-example app:tail:appsignal
rake app=elixir/single-task app:tail:appsignal
rake app=ruby/jruby-single-task app:tail:appsignal
rake app=ruby/linux-arm app:tail:appsignal
rake app=ruby/padrino app:tail:appsignal
rake app=ruby/rails6-mongo app:tail:appsignal
rake app=ruby/rails6-postgres app:tail:appsignal
rake app=ruby/rails6-sequel app:tail:appsignal
rake app=ruby/rails6-sidekiq app:tail:appsignal
rake app=ruby/shoryuken app:tail:appsignal
rake app=ruby/sinatra app:tail:appsignal
rake app=ruby/sinatra-puma app:tail:appsignal
rake app=ruby/single-task app:tail:appsignal
rake app=ruby/webmachine app:tail:appsignal
rake app=nodejs/express-apollo app:tail:appsignal
rake app=nodejs/express-postgres app:tail:appsignal
rake app=nodejs/express-redis app:tail:appsignal
rake app=nodejs/koa app:tail:appsignal
rake app=nodejs/next-js app:tail:appsignal
rake app=nodejs/open-telemetry app:tail:appsignal
rake app=javascript/Dockerfile app:tail:appsignal
rake app=javascript/ember app:tail:appsignal
rake app=javascript/react app:tail:appsignal
rake app=javascript/typescript-angular app:tail:appsignal
rake app=javascript/vanilla app:tail:appsignal
rake app=javascript/vue-2 app:tail:appsignal
rake app=javascript/vue-3 app:tail:appsignal
rake app=javascript/webpack app:tail:appsignal

Open the browser pointing to the app:

rake app:open

Reset the integrations to their current main:

rake integrations:reset

Generate a new test setup

To generate a new test setup run:

rake app=lang/app app:new

Then customize the generated files and place your code in app within the generated skeleton app. Make sure to map the port to localhost to 4001. If you want to run tasks such as generators do that from within the Docker setup by using the app:bash task.

Processmon

The test setups use a tool called processmon to reload their primary running process. The version is specified in support/processmon/Dockerfile.

To bundle the latest version:

rake global:install_processmon

test-setups's People

Contributors

jeffkreeftmeijer avatar luismiramirez avatar shairyar avatar thijsc avatar tombruijn avatar unflxw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.