Coder Social home page Coder Social logo

gitpod-io / gitpod Goto Github PK

View Code? Open in Web Editor NEW
12.3K 141.0 1.2K 88.78 MB

The developer platform for on-demand cloud development environments to create software faster and more securely.

Home Page: https://www.gitpod.io

License: GNU Affero General Public License v3.0

JavaScript 0.26% Smarty 0.01% Shell 1.20% Go 36.65% TypeScript 36.87% HTML 0.05% Dockerfile 0.42% CSS 0.08% Makefile 0.07% C 0.03% Mustache 0.01% Jsonnet 0.20% Java 22.15% Kotlin 1.83% Jupyter Notebook 0.05% HCL 0.11%
cloud-ide gitpod ide editor dev-environment cloud disposable prebuilds code-review remote-development

gitpod's Introduction

Gitpod banner image

Gitpod’s developer platform provides on-demand, pre-configured environments that automatically integrate into any tool, library, or dependency required for creating software. Gitpod workspaces are the fastest and most secure way to ship software and are as easy as adding a .gitpod.yml file to the root of any repository.

📄 Read Cloud Development Environment white paper

Features

  • Dev environments as code - Gitpod is like infrastructure-as-code, but for your development environment. Gitpod defines your editor extensions and requires dependencies in a declarative .gitpod.yml configuration. Spinning up dev environments is easily repeatable and reproducible empowering you to automate, version-control, and share dev environments across your team.
  • Prebuilt dev environments - Gitpod continuously prebuilds all your git branches similar to a CI server. Control how Gitpod pre-configures and initializes environments before you even start a workspace through tasks commands in your .gitpod.yml. No more watching apt-get or npm install again. 
  • Secure - Each Gitpod workspace or prebuild runs on a secured single-use container providing fast startup times without compromising on security. Gitpod generates SLSA level 1 compliant provenance. Gitpod is also GDPR and SOC2 compliant. And, of course, Gitpod is open-source and available for review by everyone.
  • Workspaces based on Docker - Gitpod instantly starts a container in the cloud based on an (optional) Docker image. If you’re already using Docker, you can easily re-use your Docker file. 
  • GitLab, GitHub, and Bitbucket integration - Gitpod seamlessly integrates into your workflow and works with all major Git hosting platforms including GitHub, GitLab, and Bitbucket.
  • Integrated code reviews - with Gitpod you can do native code reviews on any PR/MR. No need to switch contexts anymore and clutter your local machine with your colleagues' PR/MR.
  • Collaboration - invite team members to your dev environment or snapshot of any state of your dev environment to share it with your team asynchronously. Professional & customizable developer experience - a Gitpod workspace gives you the same capabilities as your Linux machine - pre-configured and optimized for your development workflow. Install any VS Code extension with one click on a user and/or team level. You can also bring your dotfiles and customize your dev environment as you like.

Getting Started

  • Browser
    • Using Gitpod dashboard gitpod.io/new.
    • Add gitpod.io/# as a prefix to any of your GitHub/ GitLab/ BitBucket repository, like this
  • CLI: You can also install Gitpod CLI and create your first workspace directly from your terminal :)

Documentation

All documentation can be found on www.gitpod.io/docs. For example, see Gitpod tutorial and check the following helpful resources:

Questions

For questions and support please use Gitpod community Discord. Join the conversation, and connect with other community members. 💬 You can also follow @gitpod for announcements and updates from our team.

For enterprise deployment and customized solutions, please explore our Enterprise offerings to get started with a setup that meets your organization's needs.

Issues

The issue tracker is used for tracking bug reports and feature requests for the Gitpod open source project as well as planning current and future development efforts. 🗺️

You can upvote popular feature requests or create a new one.

Related Projects

During the development of Gitpod, we also developed some of our infrastructure toolings to make development easier and more efficient. To this end, we've developed many open-source projects including:

  • Workspace images: Ready to use docker images for Gitpod workspaces
  • OpenVSCode Server: Run the latest VS Code on a remote machine accessed through a browser
  • Gitpod browser extension: It adds a Gitpod button to the configured GitLab, GitHub and Bitbucket installations
  • Leeway - A heavily caching build system
  • Dazzle - An experimental Docker image builder
  • Werft - A Kubernetes native CI system

Code of Conduct

We want to create a welcoming environment for everyone interested in contributing to Gitpod or participating in discussions with the Gitpod community. This project has adopted the Contributor Covenant Code of Conduct, version 2.0.

gitpod's People

Contributors

akosyakov avatar aledbf avatar alextugarev avatar arthursens avatar corneliusludmann avatar csweichel avatar easycz avatar felladrin avatar filiptronicek avatar furisto avatar geropl avatar gtsiolis avatar iqqbot avatar jankeromnes avatar jeanp413 avatar jenting avatar kylos101 avatar laushinka avatar mads-hartmann avatar meysholdt avatar mustard-mh avatar nandajavarma avatar pothulapati avatar roboquat avatar sagor999 avatar selfcontained avatar svenefftinge avatar utam0k avatar vulkoingim avatar wverlaek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gitpod's Issues

Gitlab support

Support launching Gitpod workspaces from git repositories hosted in Gitlab.

Requested here.

Handle old PRs with deleted branches.

For a non-obvious reason, trying to review code from PR 1855, resulted in an instance where the source code was not cloned. In consequence, directory /workspace/ was empty and no workspace was set. I just tried with a different PR, and this did not happen.

C# Support

Add C# Extension and make it available in Gitpod.

[Firefox Extension] Move Button

In the gitpod firefox extension, I would suggest putting the gitpod button on the left of the "Clone or download"
The reason being that the gitpod button appears a little bit after the page has started rendering

So it's likely that I'll want to click on "Clone or download" and accidentally click on "Gitpod" because it appeared a millisecond before I clicked

cc/ @simark

Consent Flow interrutps opening the GitPod Workspace

The first time I used GitPod, it has to go to GitHub to prompt for consent. When I'm redirected back, GitPod isn't stashing/unstashing state, and so I end up on my list of workspaces (empty).

Re-clicking GitPod does the correct thing, of course.

Just a small UX issue.

Github PR merge error not handled

Describe the bug
When merging is not possible, because a review is necessary, for example, the Merge button is green but clicking on it does nothing. In the Javascript console, an error is printed:

Error: {"message":"At least 1 approving review is required by reviewers with write access.","documentation_url":"https://help.github.com/articles/about-protected-branches"}

To Reproduce

  • Open a PR on the Theia repo, make sure nobody approves it so the merge button on Github is disabled
  • Try to merge this PR from gitpod

Expected behavior
I see two possible behaviors:

  1. Grey-out the button, in some hover text explain why the button is greyed out.
  2. When clicking the Merge button, if there is an error, show it the standard way errors are shown in Theia.

"integrated chat" on status bar non functional

Yesterday, using the service from my home machine, I tried to use the chat feature, but clicking on the button had no effect. Other status bar button were working as expected.

That was with the Brave browser.

Review comments not visible from Pull Request view

For PR 1858, only the initial comment, describing the PR content, is visible in the Pull Request view. Further conversations, visible from GH are not present. Not sure if it makes a difference, but the one visible comment contains an animated image.

I was still able to successfully add a comment, using the "Review Changes" button, from the view.

[review] Edit pending comment: latest version should be opened

Describe the bug
When editing a pending review comment, the original version of the comment is opened for edition, instead of the latest version.

To Reproduce
Add a pending review comment, click on "Update comment"
Edit comment, click on "Update comment"
-> new version of comment displayed
Edit comment again
-> original, not latest version of comment, is opened for edition

Expected behavior
When editing a pending comment, the latest version should be opened for edition

peek 2018-08-28 08-09

abc

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

starting "test" Theia instance only works once in a given terminal?

Reviewing / trying a PR, I used the service. When first started, a terminal was already there, building the PR code. When done, I started a test Theia (yarn run start...) and got the pop-up to open the test instance in a new tab.

Later I restarted the backend, by killing the current one and re-running the command. That time I did not get the pop-up. It however worked when I tried in a fresh terminal.

Support Go packages with sub-packages

When I try to work on my project https://github.com/gomarkdown/markdown I get:

gitpod /workspace/markdown $ go build
markdown.go:7:2: cannot find package "github.com/gomarkdown/markdown/ast" in any of:
        /usr/local/go/src/github.com/gomarkdown/markdown/ast (from $GOROOT)
        /workspace/src/github.com/gomarkdown/markdown/ast (from $GOPATH)
        /usr/local/go-packages/src/github.com/gomarkdown/markdown/ast
markdown.go:8:2: cannot find package "github.com/gomarkdown/markdown/html" in any of:
        /usr/local/go/src/github.com/gomarkdown/markdown/html (from $GOROOT)
        /workspace/src/github.com/gomarkdown/markdown/html (from $GOPATH)
        /usr/local/go-packages/src/github.com/gomarkdown/markdown/html
markdown.go:9:2: cannot find package "github.com/gomarkdown/markdown/parser" in any of:
        /usr/local/go/src/github.com/gomarkdown/markdown/parser (from $GOROOT)
        /workspace/src/github.com/gomarkdown/markdown/parser (from $GOPATH)
        /usr/local/go-packages/src/github.com/gomarkdown/markdown/parser

The problem is that GOPATH is set to /workspace;/usr/local/go-packages/src but the package is checked out to /workspace/markdown.

In order for sub-package github.com/gomarkdown/markdown/ast to be visible, the code would have to be checked out as /workspace/src/github.com/gomarkdown/markdown.

Which might be tricky since it requires auto-detecting that this is Go codebase.

If you upgrade go from 1.9.5 to latest 1.11 then at least packages that have go.mod will work properly.

improve message "Port 'xxxx' of workspace is not exposed"

Currently, the message is:

Sorry, that should not have happened!
Port '34449' of workspace is not exposed. Please, update your '.gitpod' config file.

For authenticated users, we could have a button here to expose the port.
A pointer to the "Ports" View and the documentation would be helpful, too.

Pull GitPod configs from user's repositories

The https://github.com/gitpod-io/definitely-gp repo is a great idea for getting public projects to work smoothly with GitPod. However for several reasons, there's a need to allow users to specify customized GitPod configurations that aren't global and aren't in the loaded projects' repository.

As an alternative, it would be very nice to check a user's repo list and detect if they have a "definitely-gp" repository and always prefer the config found there over the other public sources (the preference order would be: user/definitely-gp > project's .gitpod file > gitpod/definitely-gp).

This would allow the user ultimate control over the .gitpod configuration.

[Dashboard] Add links to website, docs, blog and footer with social media links

When one is logged in, it's impossible to find anything else about the company (like docs, blog, or links to github/twitter etc.).

The website and the app use the same domain and the app is stripped from any information that is reachable from the website.

At the very list add a footer with links to most important places like docs, blog, github etc..

[Issue Context] Always have default branch state

When I create a workspace from an issue, the local branch should always be based on the current state of the default branch (i.e. origin/master in most cases).

This is unfortunately not the case, when I create a PR for which already a remote branch exists.

Please include current Git branch in the Terminal prompt

Current prompt:

gitpod /workspace/definitely-gp $

Expected prompt:

gitpod /workspace/definitely-gp (master) $

Since __git_ps1 seems to be installed (by default alongside git), this could be achieved like so:

PS1='\[\033[01;32m\]\u\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)") $ '

(source but with \u \w instead of \u@\h:\w to imitate the current gitpod prompt)

Auto-detect and set up Go projects

At the moment Go users are forced to configure their project using a .gitpod file (documented here).
Gitpod should detect if something looks like a Go project and in absence of a .gitpod file, set it up properly (i.e. change checkoutLocation and workspaceLocation).

Workspace not reacheable

When attempting to open this PR: eclipse-theia/theia#1983 . I tried again, chose to have GitPod create a new workspace, and the same problem happened again.

Not sure if it's something with that specific PR or general.

image

image

Can't start test instance: port 3000 not exposed

When starting a test instance, from the review/dev instance (opened on PR 1775), I got the following error:

Sorry, that should not have happened!
Port '3000' of workspace is not exposed. Please, update your '.gitpod' config file.

Here is how I tried to start the test instance:

root /workspace/theia/examples/browser # yarn run start hostname=0.0.0.0 ../../

opening PR for first time, gitpod opens my "workspaces" page

This has happened a couple of times recently, but not every time.

I start from a GH PR URL, "converting" it to use it with gitpod (opening that PR for the first time with gitpod). Gitpod then takes me to my workspaces page, where I see previously used workspaces, for different PRs.

Re-starting from the PR URL, a new gitpod workspace is created and opened, as originally expected.

[c/c++] Support clang formatting and add cmake

Feedback from twitter:

try doing some level of work with my open source repo -- http://github.com/nanomsg/nng -- open any C file to see what I mean, and you have no chance to build this in the container whatsoever.

tried it... but no clang-format, no cmake, and no way to install either. No way that I can tell to tell it to understand include directories either, so most of my symbols are unknown. No, this isn't ready for "real" production C/C++ use yet.

Swift Support

Create Swift extension and make it available in Gitpod.

Root/sudo permission

Just a question, I'm trying to execute some selenium tests, I was trying to add chrome but looks like the user is not sudo in the container.

Please add a link to the Browser Extensions on signed-in gitpod.io

Thanks for an amazing service! (We're actually building something similar over at https://jntr.io -- truly love your expose-ports-on-the-fly feature!)

Just a quick suggestion: I was searching for your Browser Extensions after trying out the service, but once signed in to https://gitpod.io, the website loses a lot of content (and there is no link to the Browser Extensions).

I had to type "docs.gitpod.io" into my search bar because I remembered the URL to find the Browser Extension link, but other users might not know / remember that URL.

new vue.js project preview yields "Invalid Host header"

Installing the vue cli via "npm i -g @vue/cli" and running "vue create hello-world" worked great. However, running it with "yarn serve" and previewing the output on port 8080 yielded a page that said only "Invalid Host header".

Can't access the ide

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

test for git pod

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

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.