Giter Club home page Giter Club logo

Comments (10)

brianmoose avatar brianmoose commented on July 20, 2024

Yes, the server setup instructions are intended to setup the django web server. This handles serving the web pages and talking to the clients. A simple http server can be started with ./manage.py runserver. This might not be sufficient though as it is a very basic server. Also, by default it uses MySQL which will not scale very well. To receive GitHub notices about PRs you will need the server to be publicly accessible (or at least allow github.com to access it).

The server installation section is probably out of date. I think I just put those in there to remind myself what needed to be done. That said, the internal.json and public.json should be in ci/fixtures/ but I am not sure if they are actually required.
After I restructure things for #174 I will go through the documentation and update it as necessary while I do a new installation. I will also have one of the guys here do an installation just from the instructions.
Please be patient while we get this sorted out :)

from civet.

pbauman avatar pbauman commented on July 20, 2024

Thanks much! I understand things take time, no problem. Again, I'm happy to be a guinea pig to help work out the kinks. I'll keep notes on this issue as I try things out.

from civet.

brianmoose avatar brianmoose commented on July 20, 2024

I updated the server installation documentation and put it on the wiki
https://github.com/idaholab/civet/wiki/Server-Installation
One of the guys here went through the instructions and got a basic server up and running. He didn't setup all the webhooks etc and get everything you are looking for. I think all the information is probably on the wiki although it might not be coherently organized. Please let us know if there is any confusion or you need any help.

from civet.

pbauman avatar pbauman commented on July 20, 2024

Thanks!

I'm following the instructions now. Working my local folks to make sure we have a public URL for the server. A couple of questions at this point.

  1. For the server, it says that the server should have a very light load. Does that mean I'm going to have problems running the server and the client on the same node? I don't anticipate as heavy a load as INL pushes (only nightly tests and PRs on 2 or 3 repos that don't have a ton of traffic).

  2. I noticed when I switched DEBUG to False in the setting, I needed to go and update ALLOWED_HOSTS (I got an error). I'm only guessing, but would github be a valid entry there? Perhaps an example could be added to the instructions.

  3. Could you provide an example of what valid values would be for WEBHOOK_BASE_URL and ABSOLUTE_BASE_URL?

Thanks!

from civet.

brianmoose avatar brianmoose commented on July 20, 2024
  1. It has more to do with the database load. If you only have one client and only a few people looking at your website, it might be OK. I am not sure how performance will be affected once the database grows larger over time though. Note that the web server + database typically doesn't use much resources so having a client and running jobs on the same box is probably OK if it is a good box. I have done that for testing and it seemed OK on my workstation.
  2. I updated the wiki. For moosebuild.org we have
    ALLOWED_HOSTS = ['localhost', 'moosebuild.org', 'www.moosebuild.org']
  3. It is now on the wiki. Basically it is the URL to your public facing site.
    WEBHOOK_BASE_URL=https://www.moosebuild.org
    ABSOLUTE_BASE_URL=https://www.moosebuild.org
    I forget why there are two of these...

from civet.

pbauman avatar pbauman commented on July 20, 2024

Thanks much for the pointers.

I'll go ahead and close this out as I have a server instance up and running. Only final comment is for newbs like me, I needed a little outside help to figure out that when I startup the server, I needed to feed the IP address and port I wanted it to run on so that I could see it from the web, not just the server. That might be expected knowledge, but just in case you wanted to throw that in the manual.

Thanks again for the rapid help! Onto the client and recipes!

from civet.

pbauman avatar pbauman commented on July 20, 2024

Actually, sorry, I closed prematurely. One more question regarding settings.

I don't understand what GITHUB_CLIENT_ID and GITHUB_SECRET_ID are used for and exactly what is needed for these values.

Under OAuth settings on my own GitHub page, it's asking me to register an application...

Just for context, I'm planning on having my CIVET server/client running tests on PRs from at least 3 different repositories (also hopefully nightly tests). If this server will be tied to a particular GitHub account (e.g. mine), is that going to restrict my ability to be able to interact with several different repositories? To be clear, those repositories each belong to their own organization.

Thanks!

from civet.

pbauman avatar pbauman commented on July 20, 2024

OK, I'm tinkering with registering my CIVET server page with GitHub. I got it to generate the requested items, but I'm unsure what to give to GitHub for the callback URL (currently I just put the home page)?

Also, after supplying the the client/secret ids to the CIVET settings file, I can click sign-in on my CIVET home page, which took me to github to authorize applications. After that, it just takes me back to my CIVET homepage (is that the callback URL?) - should it be doing something else? The client setup page indicates I should be getting a build key from signing in, but not sure how to get that?

from civet.

brianmoose avatar brianmoose commented on July 20, 2024

For the OAuth stuff, I added a page to the wiki https://github.com/idaholab/civet/wiki/Interacting-with-GitHub that hopefully helps. You should be able to test on multiple repositories owned by different organizations. The build_user (specified in a recipe) will need to be a collaborator on the repository.

If the sign in went successfully then the "Sign in" should change to your username and will be a menu. Clicking on CIVET Recipes under the username will show the build key assigned to the user.

I don't remember if a https callback URL is required there. I think it might be. I also think the webhook hook URL might require SSL too. Not sure. I added a bit on how to run the basic server over https to the Server Installation part of the wiki.

from civet.

pbauman avatar pbauman commented on July 20, 2024

For the OAuth stuff, I added a page to the wiki https://github.com/idaholab/civet/wiki/Interacting-with-GitHub that hopefully helps. You should be able to test on multiple repositories owned by different organizations. The build_user (specified in a recipe) will need to be a collaborator on the repository.

I saw your changes being made and their were exactly what I needed, thanks!

I don't remember if a https callback URL is required there.

It is. It generated an error on the webpage saying https was required.

I added a bit on how to run the basic server over https to the Server Installation part of the wiki.

And that got me going again! I can now sign into the server, go to the recipes page and get my build key.

Thank you very much. I think I feel good about closing this now. I have other questions about the recipes, but I'll open a different issue for that.

from civet.

Related Issues (20)

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.